Symfony:如何使用 Assetic 加载供应商的图像?

Symfony: how to load vendor's image using Assetic?

我开始创建自己的包并将它们上传到 github。

我刚刚创建了这个:https://github.com/Ziiweb/FrontendBundle

捆绑包内有一张图片:https://github.com/Ziiweb/FrontendBundle/tree/master/Resources/public/images

我正在同一个包中的模板下方以这种方式加载该图像,其方式与 docs:

中所述的方式相同
{% image '@ZiiwebFrontendBundle/Resources/public/images/ajax-loader.gif' %}
<img class="loader" src="{{ asset_url }}" alt="Example" />
{% endimage %}

问题: 在另一个项目中安装 bundle (composer) 后,在尝试请求图像所在的模板时出现以下错误:

An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "_assetic_0b1c853_0" as such route does not exist.") in ZiiwebFrontendBundle:Default:contact.html.twig at line 15.

我使用此代码收到相同的消息:

  {% image 'bundles/ziiwebfrontend/images/ajax-loader.gif' %}
  <img class="loader" src="{{ asset_url }}" alt="Example" />
  {% endimage %}

是的,我已经使用 assets:install 安装了资产,所以我的图片位于 web/bundles/ziiwebfrontend/images/ajax-loader.gif

注意:我想我已经正确安装了 Assetic。我已经使用了这些 3 steps

我想你错过了在 config.yml

中添加相同的包
assetic:
    debug:          %kernel.debug%
    use_controller: false
    bundles:        [YourBundleName]