Symfony 升级到 4.1 assets 报错
Symfony upgrade to 4.1 assets error
我为 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" 服务或别名已被删除或内联。你应该要么做到 public,要么停止直接使用容器并改用依赖注入。
为了修复这个错误,我把它放在 services.yml:
services:
assets.packages:
class: \Symfony\Component\Asset\Packages
public: true
但在那之后我得到另一个错误:
你知道那可能是什么吗?有什么问题吗?
Assetic不再使用,请使用Webpack Encore https://symfony.com/doc/current/frontend.html
我已经能够修复错误。在服务中添加默认包作为参数就足够了:
assets.packages:
class: \Symfony\Component\Asset\Packages
arguments: ['@assets._default_package']
public: true
我为 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" 服务或别名已被删除或内联。你应该要么做到 public,要么停止直接使用容器并改用依赖注入。
为了修复这个错误,我把它放在 services.yml:
services:
assets.packages:
class: \Symfony\Component\Asset\Packages
public: true
但在那之后我得到另一个错误:
你知道那可能是什么吗?有什么问题吗?
Assetic不再使用,请使用Webpack Encore https://symfony.com/doc/current/frontend.html
我已经能够修复错误。在服务中添加默认包作为参数就足够了:
assets.packages:
class: \Symfony\Component\Asset\Packages
arguments: ['@assets._default_package']
public: true