1

我使用本指南将 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

基枝

// 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'
    %}

将 build 下的yui_compressor zip 文件中的文件添加到我的 symfony 项目中的 app/Resources/filter/java 文件夹中

4

1 回答 1

8

1 - 下载 yuicompressor 并将其添加到您的项目中

解压,到 build/dir 解压 yuicompressor-2.4.7.jar 放到你的 app/Resources/java/ 项目目录下。(另外,您可以为 yuicompressor.jar 重命名 yui 文件)

2 - 为 prod 环境启用 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 显示更多关于压缩过程的详细信息,您将能够查看是否有错误 taht 导致 yui 压缩器出现问题!

比如 JS 注释标签“/!” 导致 yui 压缩器出现问题,你应该重命名所有“/!” 用于 JS 文件中的“/*”。

就是这样^^

于 2013-04-09T10:38:12.063 回答