防止为 nopCommerce 缓存 CSS

Posted

技术标签:

【中文标题】防止为 nopCommerce 缓存 CSS【英文标题】:Prevent caching CSS for nopCommerce 【发布时间】:2016-02-12 12:37:27 【问题描述】:

我正在尝试找出一种方法来防止在 nopCommerce 上缓存 CSS 文件,我之前已经通过在 CSS 调用方式的末尾添加日期和其他内容来完成此操作。

html.AppendCssFileParts("~/Themes/CustomTheme/Content/css/site.css");

这是在 nop commerce 中添加 CSS 的方式,但我记得如何确保 CSS 不被缓存,并在设置的日期之前加载文件。

【问题讨论】:

【参考方案1】:

如果您在 General And Miscellaneous Settings/SEO Settings 中激活 CSS 捆绑和缩小,则每次更新 css 时,捆绑的 css 文件的“bundlekey”都会改变文件。 然后浏览器将重新下载 css-bundle 并获取更新。

在开发时,您可以使用 CTRL + R 进行“硬刷新”

【讨论】:

【参考方案2】:

当您从管理面板清除 nopCommerce 缓存时,仅当 css 文件名发生更改时,它才会重新生成 CSS 和 JS 捆绑包名称。

因此,您可以通过在文件名中抛出随机字符来覆盖生成包名的逻辑。但我找到了一个快速的解决方案(hack)。 创建空的 css 文件 (version.css) 并在 Head.cshtml 中连接它。每次创建提交时,像这样更改文件名(version.css 到 versionv1.css)。现在 nopcommerce 将重新生成捆绑包。 这将允许保留提交历史记录并防止提交历史记录混乱。

在 nopcommerce 4.2 中测试

【讨论】:

以上是关于防止为 nopCommerce 缓存 CSS的主要内容,如果未能解决你的问题,请参考以下文章

我的NopCommerce之旅: 缓存

基于NopCommerce的开发框架——缓存网站设置系统日志用户操作日志

基于NopCommerce的开发框架——缓存网站设置系统日志用户操作日志

nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存

Nopcommerce 之事件机制

NopCommerce学习 Caching