2017-10-20 91 views
0

我尝试了很多,但我无法缓存使用JADE模板引擎构建在Nodejs Express上的WebApplication。如何在Nodejs中缓存.js和.css以及其他静态文件?

什么,我试图,

1-试图pm2经理 2-尝试设置NODE_ENVproduction 3-新增的缓存模块(但我明白力如何使用)

const NodeCache = require("node-cache"); 
const myCache = new NodeCache({ stdTTL: 100, checkperiod: 120 }); 

但它没有缓存。

THI是https://nodejs.org/en/ enter image description here

的结果,这是我的web应用程序的结果, enter image description here

我需要缓存所有的静态文件怎么做..好心帮我请..谢谢

+0

只需缓存它们100秒?此外,仅实例化NodeCache就不会做任何事情。这可能会得心应手https://medium.com/the-node-js-collection/simple-server-side-cache-for-express-js-with-node-js-45ff296ca0f0 – nilobarp

+0

浏览器会自动缓存静态资源一次你实际上将它托管在某个地方......不管怎样,你不应该使用节点在生产环境中托管静态文件,而应该使用任何你使用的网站服务器/反向代理来公开你的站点/应用程序(nginx/apache/etc )。您不需要在代码中使用任何显式缓存或模块。 – AllTheTime

+0

有一个基于节点的服务器没有错。对于客户端缓存设置适当的头https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control – nilobarp

回答

1

设置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