对不起,如果这是一件微不足道的事情......我一直无法解决这个问题。
我希望缓存所有 Js 文件(我已将 maxAge 设置为一天,如您在下面的代码片段中所见)。 css 和图像被缓存在浏览器中,但不是 .js 文件。
某个地方正在向每个 js 文件添加一个随机数作为查询字符串参数,这会强制浏览器不缓存,我猜它可能就是这样做的。
有没有正确配置 express 以便不添加随机数查询字符串。
var oneDay = 86400000;
app.use(express.compress());
app.use('/assets', express.static(path.join(__dirname, 'public/app/assets/'), { maxAge: oneDay }));
app.use('/app', express.static(path.join(__dirname, 'public/app/'), { maxAge: oneDay }));
这是我的浏览器日志,显示了添加到 js 文件中的随机数
提前致谢...
最佳答案
首先,您发布的代码似乎实际上是 node.js (ExpressJS),而不是 AngularJS。 maxAge 属性与缓存有关,尽管正如@robertklep 指出的那样,这不会导致添加时间戳。 (参见 http://expressjs.com/api.html#res.sendfile)?
其次,Angular 通过 $resource 对象本身支持资源缓存——看这个: http://docs.angularjs.org/api/ngResource .$资源
第三种可能性更大——显示的时间戳与 jQuery 与 AJAX 的工作方式相同,正如@Nate 在评论中所建议的那样。很可能修改 $resource 配置/调用将解决此问题。
最后,发布更多代码有助于确定问题所在。
关于javascript - Angular 在我不想要的 .js 文件请求中添加一个随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20854431/