我正在使用简单 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,则您的静态内容网址应如下所示:
http://example.com/js/jquery.js?v=3.0.1
npm存储库上有一个名为versionator
的可用模块供您使用:
关于javascript - node.js表示JS文件缓存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20763637/