我在让 UglifyCSS 和 UglifyJS 在我的 Symfony2.6 应用程序上与 Assetics 一起工作时遇到了一些麻烦。
我暂时简化了一点问题(我正确检查了我仍然遇到这个配置的问题)。我在我的基本树枝文件中导入我的样式表,如下所示:
{% stylesheets
'@main_css'
output='assets/app.min.css'
%}
<link rel="stylesheet" href="{{ asset_url }}"/>
{% endstylesheets %}
我的资产配置了 UglifyCSS 和过滤器cssrewrite
和uglifycss
. 过滤器配置为应用于所有.css
文件。
这是我的配置:
# app/config/config.yml
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: ['MyFrontBundle']
node: /usr/local/bin/node
node_paths:
- "%kernel.root_dir%/../node_modules"
- "/usr/local/lib/node_modules"
filters:
cssrewrite:
apply_to: "\.css$"
uglifycss:
bin: %kernel.root_dir%/../node_modules/.bin/uglifycss
apply_to: "\.css$"
# uglifyjs2:
# bin: %kernel.root_dir%/../node_modules/.bin/uglifyjs
# apply_to: "\.js$"
assets:
main_css:
inputs:
- '@MyFrontBundle/Resources/public/css/app.min.css'
这是错误:
$ php app/console assetic:dump
Dumping all dev assets.
Debug mode is on.
18:52:42 [file+] /path/to/app/../web/assetic/main_css.css
[Symfony\Component\Process\Exception\RuntimeException]
The process has been signaled with signal "6".
assetic:dump [--forks="..."] [--watch] [--force] [--period="..."] [write_to]
如果我uglifycss
在配置中评论过滤器,则不再有任何问题。另外,如果我将过滤器直接应用到样式表块中,也没有问题。所以问题来自apply_to
声明,但我不明白为什么。
哦,是的,我也尝试通过手动将过滤器添加到样式表块中:
{% stylesheets
'@main_css'
filter="?uglifycss"
output='assets/app.min.css'
%}
<link rel="stylesheet" href="{{ asset_url }}"/>
{% endstylesheets %}
然后一切正常。所以最终归结为使用apply_to
来应用过滤器。
我有完全相同的问题uglifyjs
。我事先检查了所有路径:节点,bin to uglify。
谢谢。