Ent*_*eXL 6 javascript caching node.js backbone.js
我使用简单快递来服务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 !!!");
});
Run Code Online (Sandbox Code Playgroud)
每个部署项目都使用require.js(r.js)进行优化.文件是Concenated,minified和uglified并部署到生产服务器.
问题如下.假设我将缓存设置为15天.在第3天,我们部署了新项目,意味着新版本.客户端浏览器不会提取新的javascript文件,因为它已经兑现了它们并且有效.
如何欺骗浏览器删除新文件的缓存?
感谢:D
无法从服务器清除浏览器缓存。这就是为什么许多框架在静态内容的 url 之后添加版本字符串的原因。
如果您的应用程序版本是 3.0.1,您的静态内容 url 应如下所示:
http://example.com/js/jquery.js?v=3.0.1
npm 存储库中有一个可用的模块可供您使用versionator: