在Symfony2,dev环境中不刷新CSS修改

时间:2013-10-14 23:56:55

标签: symfony assets assetic

这是一个反复出现的问题,但提议的解决方案都没有让我信服。

根据文档,在使用dev环境时,会立即刷新对Resources / public / css中CSS文件所做的修改,但不会对它们进行修改。

所有解决方案都是我需要发出assetic:dump命令,但这不是解决方案。如果我这样做,几个JS和CSS文件填充web文件夹的JS和CSS目录,其中大多数重复文件。所以,这不是解决方案。

目前,我在CSS和JS文件夹中只有使用app.php入口点时加载的生产环境的CSS和JS文件。

当我使用app_dev.php入口点时,网站工作,加载CSS,加载JS,但不加载属于Resources / public文件夹的。

CSS网址为:http://compromisos.local/app_dev.php/css/base_style_1.css。相应的CSS文件是style.css。

我发现CSS来自web / bundles / mybundle / css(或js)文件夹。因此,当我更改Resources / public文件夹中的CSS文件时,我需要先发布资源。

我试图配置资产以使用CSS和JS rom Resources / public文件夹,但没有成功。

这是我到目前为止所尝试的:

# Assetic Configuration
assetic:
    debug:          %kernel.debug%
    use_controller: false
    read_from:      %kernel.root_dir%/Resources/public/
    write_to:       %kernel.root_dir%/../web/
    bundles:        [ FOSUserBundle, DesytecGestionBundle ]

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

我在开发环境中经常使用的内容

我的assetic配置参数:

assetic:
    debug:          %kernel.debug%
    use_controller: true # set to true in config_dev.yml{1} otherwise default to false{2}
    # bundles:        [ ]
    filters:
        cssrewrite: ~

{1} config_dev.yml {2} config.yml

然后我就这样做了:

  • php app/console assets:install
  • php app/console assetic:dump --watch(在2.4中弃用,您应该使用:php app/console assetic:watch

我还通过以下方式引用我的文件:

{% stylesheets '@AcmeDemoBundle/Resources/public/css/style.css' %}
  <link href="{{ asset_url }}" rel="stylesheet" media="screen" />
{% endstylesheets %}