我使用this guide将yui_compressor添加到我的symfony项目中。但它没有创建缩小的文件。以下是我应用的设置,请看一看并告诉我可能出现的问题。 配置文件
// Added this to the config.yml file in app/config (and yes, I'm on a mac)
yui_css:
jar: "%kernel.root_dir%/Resources/filter/java/yuicompressor-2.4.7.jar"
java: /usr/bin/java
Base Twig
// Added this to the :base.html.twig in app/Resources/views
{% stylesheets filter='yui_css' output='public/css/compiled-main.css'
'public/css/main.css'
%}
在我的symfony项目的app / Resources / filter / java文件夹中,在yui_compressor zip文件中添加了文件
答案 0 :(得分:8)
1 - 下载并添加yuicompressor到您的项目
解压缩,转到build / dir并解压缩yuicompressor-2.4.7.jar将其放入app / Resources / java / project目录中。 (此外,您可以为yuicompressor.jar重命名yui文件)
2 - 为prod environement启用yui压缩
在config_prod.yml文件中添加yui压缩器是合乎逻辑的,而不适用于所有环境(你应该从config.yml中删除行)。
所以在config_prod.yml中添加这些行:
assetic:
debug: false
filters:
yui_js:
jar: "%kernel.root_dir%/Resources/java/yuicompressor.jar"
apply_to: "\.js"
yui_css:
jar: "%kernel.root_dir%/Resources/java/yuicompressor.jar"
apply_to: "\.css"
3 - 验证您是否生成控制器文件
转到web / app.php,并设置prod / false(false表示没有调试)。
$kernel = new AppKernel('prod', false);
4 - 清除缓存
如果你想重建你的CSS和JS(更新后),永远不要忘记在prod中清除缓存,否则yui压缩器会忽略修改:
php app/console cache:clear --env=prod --no-debug
5 - 使用压缩重新生成灯具
最后,您可以生成并压缩文件!
php app/console assetic:dump --env=prod --no-debug -v
请注意-v显示有关压缩过程的更多详细信息,您将能够看到是否存在错误,导致yui压缩器出现问题!
例如,JS注释标签“/!”使用yui压缩器导致问题,你应该重命名所有“/!”对于JS文件中的“/ *”。
就是这样^^