如何在Nodejs中缓存.js和.css以及其他静态文件?
问题描述:
我尝试了很多,但我无法缓存使用JADE
模板引擎构建在Nodejs Express上的WebApplication。如何在Nodejs中缓存.js和.css以及其他静态文件?
什么,我试图,
1-试图pm2
经理 2-尝试设置NODE_ENV
到production
3-新增的缓存模块(但我明白力如何使用)
const NodeCache = require("node-cache");
const myCache = new NodeCache({ stdTTL: 100, checkperiod: 120 });
但它没有缓存。
我需要缓存所有的静态文件怎么做..好心帮我请..谢谢
答
设置Cache-Control
标题在handler
方法。
app.get('/', function(req, res){
res.set('Cache-Control', 'max-age=31536000');
res.send('hello world');
});
有没有必要使用node-cache
用于客户端缓存。
+0
bro res.render('index')怎么样? – AnonymousObject
+0
兄弟,但js,css文件没有得到缓存,最大年龄是0 – AnonymousObject
只需缓存它们100秒?此外,仅实例化NodeCache就不会做任何事情。这可能会得心应手https://medium.com/the-node-js-collection/simple-server-side-cache-for-express-js-with-node-js-45ff296ca0f0 – nilobarp
浏览器会自动缓存静态资源一次你实际上将它托管在某个地方......不管怎样,你不应该使用节点在生产环境中托管静态文件,而应该使用任何你使用的网站服务器/反向代理来公开你的站点/应用程序(nginx/apache/etc )。您不需要在代码中使用任何显式缓存或模块。 – AllTheTime
有一个基于节点的服务器没有错。对于客户端缓存设置适当的头https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control – nilobarp