gpt4 book ai didi

css - Symfony2,加载没有缓存的css文件

转载 作者:行者123 更新时间:2023-11-28 09:09:49 27 4
gpt4 key购买 nike

目前我正在做基于symfony2的网站设计,问题是如何禁用css文件的缓存?现在,如果我更改 css 文件中的某些内容 - 浏览器中没有任何更改。当我尝试缓存时:清除 - 仍然没有。

config.yml:

# Assetic Configuration
assetic:
debug: "%kernel.debug%"
use_controller: true
#bundles: [ ]
#java: /usr/bin/java
filters:
cssrewrite: ~
#closure:
# jar: "%kernel.root_dir%/Resources/java/compiler.jar"
yui_css:
jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"

Twig

    {% stylesheets filter="cssrewrite" output="css/general.css"
"@EveCommonBundle/Resources/public/css/main.css"
"@EveCommonBundle/Resources/public/css/another.css" %}
<link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
{% endstylesheets %}

我必须更改什么才能在浏览器中获取“最新的”css 文件?

问题是,当我更改 @EveCommonBundle/Resources/public/css/main.css 时,web/css 仍然是旧的(被终端丢弃),它没有被重新创建,这就是为什么浏览器中没有显示“新更改”,并且我只能通过终端重新创建该文件...我怎样才能让 sf2 在浏览器中的每个 F5 上重新创建 css 文件(在 web/css 文件夹)?

最佳答案

在您的开发环境中,即当通过 app_dev.php 访问您的站点时, Assets 的路径是动态生成的,因此每个更改都应该立即可见。

您可以使用以下命令自动创建 Assets (更多信息可以在食谱中找到,请参见下面的链接),但通常这不是必需的:

php app/console assetic:dump --watch

当使用 assetic 并且您想在 prod 环境中看到您的更改时,您必须首先转储 Assets 以使其可访问:

php app/console assetic:dump --env=prod --no-debug

有关更多信息,请阅读 Dumping Asset Files 部分在如何使用 Assetic 进行 Assets 管理中。

如果所有其他方法都失败了,您可能希望在模板中使用以下内容:

{% if app.environment == 'prod' %}{% else %}{% endif %}

仅在生产环境中使用 Assets 。

关于css - Symfony2,加载没有缓存的css文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14538681/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com