2017-10-20 116 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