Symfony资产相对于bundle

时间:2017-01-05 20:48:28

标签: twig symfony assetic

编辑| http://symfony.com/doc/current/assetic/asset_management.html#assetic-cssrewrite

这是否意味着我绝对必须自己将CSS资产上传到“网络”?有没有办法使用assetic:dump来首先从捆绑中复制它们?

我有一个应用程序,它通过捆绑包分成多个较小的应用程序。

特别是一个捆绑包是尝试将遗留应用程序集成到symfony中以与其他一些应用程序运行相同的平台。

这个LegacyBundle有JS和CSS资产,我不想手动上传到“web” - 我的印象是使用assetic允许我让CLI工具压缩并将资产重新定位到web目录中。 / p>

这似乎是在资产路径上使用@LegacyBundle前缀的情况:

{% block javascripts %}
    {% javascripts 
        '@LegacyBundle/Resources/legacy/common/extjs/ext-all.js' 
    %}
    <script src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

问题是 - 我需要与CSS文件具有相同的功能,显然使用带有CSS文件和资产的快捷方式存在问题:

http://symfony.com/doc/current/assetic/asset_management.html

  

请注意,在包含JavaScript文件的原始示例中,您使用@ AppBundle / Resources / public / file.js之类的路径引用了这些文件,但在此示例中,您使用其实际引用了CSS文件,可公开访问的路径:bundles / app / css。您可以使用其中任何一个,但在使用CSS样式表的@AppBundle语法时,存在导致cssrewrite过滤器失败的已知问题。

所以我试图避免对JS和CSS使用@LegacyBundle语法 - 但是我仍然希望使用相对于bundle的路径在twig中引用它们的路径 - 在那之后它们对我来说是无关紧要的。< / p>

我错过了什么?我正在尝试做什么?

我尝试将ext-alljs.js移动到捆绑“Resources”根目录中,然后在twig模板中我通过

调用资产
{% block javascripts %}
    {% javascripts 
        'Resources/ext-all.js' 
    %}
    <script src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

不幸的是,这不起作用 - 而前一个例子确实如此。我希望我的路径不正确或什么?

0 个答案:

没有答案