Symfony2、dev环境下CSS修改不刷新

jst*_*rdo 0 assets symfony assetic

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

根据文档,使用开发环境时,对Resources/public/css中的CSS文件所做的修改会立即刷新,但事实并非如此。

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

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

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

CSS URL 是这样的:http://compromisos.local/app_dev.php/css/base_style_1.css。对应的CSS文件是style.css。

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

我试图将 assetic 配置为使用 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 ]
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

Tho*_*ire 5

我在开发环境中经常使用的东西

我的assetic配置参数:

assetic:
    debug:          %kernel.debug%
    use_controller: true # set to true in config_dev.yml{1} otherwise default to false{2}
    # bundles:        [ ]
    filters:
        cssrewrite: ~
Run Code Online (Sandbox Code Playgroud)

{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 %}
Run Code Online (Sandbox Code Playgroud)