我正在尝试在 Symfony 2 项目中使用 Assetic。我的 config.yml 中有以下设置:
# app/config/config.yml
assetic:
debug: %kernel.debug%
use_controller: true
filters:
cssrewrite: ~
yui_css:
jar: /home/testing/bin/yuicompressor-2.4.7.jar
less:
node: /usr/bin/node
node_paths: [/usr/local/bin/]
apply_to: "\.less$"
assets:
all_js:
inputs:
- @FoundationViewBundle/Resources/public/js/*
filters: [?yui_js]
all_css:
inputs:
- @FoundationViewBundle/Resources/public/css/*
filters: [less, ?yui_css]
(如果您想知道,这些设置不会在 config_dev.yml 文件中被覆盖。)
这些集合由 Assetic 拾取并为它们创建路由。每个文件都有单独的路径,带有数字和不带文件扩展名的文件名。例如,对于“base.css”文件,下载文件(应用过滤器)的路径是“/assetic/all_css_part_1_base_1”。
然后,我将资产集合包含在我的 Twig 模板中,如下所示:
{% stylesheets '@all_css' %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}">
{% endstylesheets %}
(对于“all_js”集合也是如此,但我将使用 css 端来演示我的问题。)
当 Twig 呈现我的模板时,它不使用为单个文件创建的路由,而是将“all_css”集合的“asset_url”显示为“/css/9118a5a_part_1.css”。
我正在使用开发前端控制器并测试了 Assetic 认为它处于调试模式。(不应用仅生产过滤器。)尽管文档另有说明,但文件仍在连接中。
由于行号不匹配,因此很难追踪这些文件中的问题,尤其是对于 JavaScript 错误。为了让 Twig 单独显示文件,我还需要做些什么吗?