Yui_compressor不在symfony工作2

NSC*_*der 1 minify yui-compressor symfony assetic

我使用本指南将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
Run Code Online (Sandbox Code Playgroud)

基础树枝

// 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'
    %}
Run Code Online (Sandbox Code Playgroud)

将构建中的yui_compressor zip文件中的文件添加到symfony项目中的app/Resources/filter/java文件夹中

Syb*_*bio 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"
Run Code Online (Sandbox Code Playgroud)

3 - 验证您是否生成控制器文件

转到web/app.php,并设置prod/false(false表示无调试).

$kernel = new AppKernel('prod', false);
Run Code Online (Sandbox Code Playgroud)

4 - 清除缓存

如果你想重建你的CSS和JS(更新后),永远不要忘记在prod中清除缓存,否则yui压缩器会忽略修改:

php app/console cache:clear --env=prod --no-debug
Run Code Online (Sandbox Code Playgroud)

5 - 通过压缩重新生成夹具

最后,您可以生成并压缩文件!

php app/console assetic:dump --env=prod --no-debug -v
Run Code Online (Sandbox Code Playgroud)

请注意-v显示有关压缩过程的更多详细信息,您将能够看到是否存在错误导致yui压缩器出现问题!

例如,JS注释标记"/!" 使用yui压缩器导致问题,你应该重命名所有"/!" 对于JS文件中的"/*".

就是它^^