javascript - node.js express JS文件缓存

标签 javascript node.js caching backbone.js

我正在使用 simple express 来服务 Backbone 项目。这是我们使用的文件:

 app.configure('production', function () {
 var myTime = 432000;         //5 days
 app.set('port', process.env.PORT || 80);
 app.use(express.bodyParser());
 app.use(express.methodOverride());
 app.use(allowCrossDomain);
 app.use(app.router);    
 app.use(express.static(__dirname + './../',  { maxAge: myTime } ));
 console.log("SERVING !!!");
});

每个部署项目都使用 require.js (r.js) 进行了优化。文件被浓缩、缩小和丑化并部署到生产服务器。

问题如下。假设我将缓存设置为 15 天。在第 3 天,我们部署了新项目,也就是新版本。客户端浏览器不会提取新的 javascript 文件,因为它们已经兑现且有效。

我如何欺骗浏览器删除新文件的缓存?

谢谢:D

最佳答案

无法从服务器清除浏览器缓存。这就是为什么许多框架在静态内容的 url 之后添加版本字符串的原因。

如果你的应用版本是3.0.1,你的静态内容url应该是这样的:

http://example.com/js/jquery.js?v=3.0.1

在 npm 存储库中有一个名为 versionator 的可用模块:

关于javascript - node.js express JS文件缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20763637/

相关文章:

javascript - 如何在不重新渲染组件的情况下更改 useState 的状态,而只是它的组件

javascript - 为什么 material-ui 两次调用他们的对话框?

node.js - 升级到 Node v8 后,Webpack 无法编译 React 代码(在 Ubuntu 16 上)

java - 当我们说一个特定的数据结构是缓存友好的时,这意味着什么?

c# - CQRS 应用程序中的缓存失效

javascript - 我如何在 vuejs 中编写一些 php 代码

javascript - 如何识别设备为iPad和Galaxy Tab制作单独的css?

node.js - 如何使用 node.js 请求模块使用我自己的证书进行 SSL 调用?

javascript - 运行 webpack 从 npm-install-webpack-plugin 出现错误

CSS 最初不加载,刷新时不加载(F5 或 CTRL F5),但在链接单击时加载(偶尔)