Javascript node.js express js文件缓存
我正在使用SimpleExpress为主干项目提供服务。这是我们使用的文件:Javascript node.js express js文件缓存,javascript,node.js,caching,backbone.js,Javascript,Node.js,Caching,Backbone.js,我正在使用SimpleExpress为主干项目提供服务。这是我们使用的文件: 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(allowCross
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应如下所示: npm存储库中有一个名为
versionator
的可用模块:
require.config({
baseURL: '.',
urlArgs: "bust=v3",
paths: {
underscore : 'lib/underscore',
backbone : 'lib/backbone',
babysitter : 'lib/backbone.babysitter',
听起来是个完美的解决方案。我将试一试,并在这里发布结果。