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

时间:2015-10-26 14:04:13

标签: symfony assetic

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

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

在prod env中存在问题。资产正确转储,但转储到write_to选项中设置的目录。但是指向资产的链接会链接到主/web目录并中断。

以下是我的问题:如何使用资产进行资产管理,使其在prod中工作并在存储库中保持清洁。

当然我不能将dev生成的资产提交给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$'

1 个答案:

答案 0 :(得分:1)

好的,这很容易:)

我忘记了config.yml config_dev.yml,因此您可以为dev,prod,test和任何环境正确配置任何内容。

所以移动线就足够了

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

config.ymlconfig_dev.yml

现在在dev env中生成的资产被git dir忽略,并且在prod中它在/web/ dir中生成并正确链接。