node.js表示JS文件caching

我正在使用简单的快递服务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)进行优化。 文件被集中,缩小,并且被部署到生产服务器。

问题如下。 假设我将caching设置为15天。 而在第三天,我们部署了新的项目,这意味着新的版本。 客户端浏览器不会提取新的JavaScript文件,因为它已经有了兑现和有效。

如何欺骗浏览器使用新文件删除caching?

感谢:D

无法从服务器清除浏览器caching。 这就是为什么许多框架在静态内容的url之后添加一个版本string。

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

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

在npm版本库上有一个名为versionator的可用模块:

我发现更简单的解决scheme,然后使用版本。

因为我使用require.js的项目,事实certificate,require.js内置的方法来控制javascript文件:我使用:“urlArgs:”bust = v3“,”…“

从我的main.js文件段:

 require.config({ baseURL: '.', urlArgs: "bust=v3", paths: { underscore : 'lib/underscore', backbone : 'lib/backbone', babysitter : 'lib/backbone.babysitter',