Yui_compressor不在symfony工作2

时间:2013-04-08 17:02:50

标签: symfony minify assetic yui-compressor

我使用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文件中添加了文件

1 个答案:

答案 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文件中的“/ *”。

就是这样^^