我为Symfony 4.1迁移了一个项目,但没有将文件结构更改为新的Symfony文件结构 . 例如,我的资产保留在\ web文件夹中 . 除资产外,它工作正常 . 为了解决这个问题,我在控制器中更换了:
$this->container->get('templating.helper.assets')->getUrl($path);
至
$this->container->get('assets.packages')->getUrl($path);
我还执行以下命令: composer require symfony/asset
在此之后,当我运行网页时,我收到以下错误:
编译容器时,已删除或内联"assets.packages"服务或别名 . 您应该将其公开,或者直接停止使用容器并改为使用依赖注入 .
为了尝试修复此错误,我将其放在services.yml中:
services:
assets.packages:
class: \Symfony\Component\Asset\Packages
public: true
但之后我又收到了另一个错误:
你知道那可能是什么吗?有什么不对吗?
2 回答
我已经能够修复错误 . 在服务中添加默认包作为参数就足够了:
不再使用Assetic,请使用Webpack Encore https://symfony.com/doc/current/frontend.html