2015-01-05 206 views
1

我已经在heroku上部署了我的节点应用程序,并且我有cloudflare作为它的CDN infront。现在我的问题是,如果我的JavaScript有变化,并且如果我在cloudflare中清除缓存,这是否会自动清除浏览器缓存? 我有以下我expressjs服务器文件清除cloudflare上的缓存是否也清除浏览器上的缓存?

if ('production' == process.env.NODE_ENV) { //production 
    var oneYear = 31557600000; 
    app.use(express.static(__dirname + '/public', {maxAge: oneYear})); 
} else { //development 
    app.use(express.static(__dirname + '/public')); 
    app.use(express.errorHandler()); 
} 

设置如果CloudFlare的犯规清除浏览器缓存中清除,那么什么是每次我改变我的JavaScript或CSS文件的时间来清除浏览器缓存的最佳策略是什么?

问候, 赤胆

+0

伙计们,请在这里帮我。如果我将maxAge设置为1毫秒,那么浏览器总是会检查是否有新内容。这会使cloudflare的缓存过期吗?如果是,那么cloudflare将提供新的内容。如果不是,那么内容没有变化,因此不会有缓存交换。我的假设是否正确? –

回答

0

你仍然可能想要做的,因为浏览器缓存的浏览器硬刷新。

+0

但是如何以编程方式执行此操作,显然我无法控制用户行为并要求用户进行硬刷新,必须通过某种方式告诉缓存已过期,并且浏览器必须下载新的缓存。 –

+1

如果我将maxAge设置为1 ms,该怎么办,因此浏览器总是会检查是否有新内容。这会使cloudflare的缓存过期吗?如果是,那么cloudflare将提供新的内容。如果不是,那么内容没有变化,因此不会有缓存交换。我的假设是否正确? - –