Symfony2 Assetic - 如何在 dev 和 prod env 中为资产设置不同的目录?

Symfony2 Assetic - how to set different directories for assets in dev and prod env?

我正在使用 assetic 来编译 .less 文件,并一般管理 assest。在开发环境中,我使用较少的控制器编译。

为了保持我的存储库干净,我在资产配置中将 write_to 选项设置为某个目录,并将其设置为被 git 忽略。在开发中它按预期工作。

但是在产品环境中有一个问题。资产正确转储到 write_to 选项中设置的目录。但是资产链接到主 /web 目录并中断。

我的问题是:如何使用 assetic 进行资产管理,使其在产品中运行并在存储库中保持清洁。

当然我不能将开发生成的资产提交给git,但它必须在某个时候中断。

这是我的资产配置:

资产配置

assetic:
    debug:          "%kernel.debug%"
    use_controller: false
    bundles:        [ ]
    write_to: "%kernel.root_dir%/../web/assets/assetic"
    filters:
        cssrewrite: ~
        less:
            node: '%node_path%'
            node_paths: ['%node_modules_path%']
            apply_to: '\.less$'

好的,这很简单 :)

我忘记了 config.yml config_dev.yml,所以你可以为开发、生产、测试​​和任何环境正确配置任何东西。

所以移动行就足够了

write_to: "%kernel.root_dir%/../web/assets/assetic"

config.ymlconfig_dev.yml

现在,在开发环境中,生成的资产被 git 目录忽略,而在生产环境中,它在 /web/ 目录中生成并正确链接。