我正在使用 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/