2017-10-20 2 views
0

Ich habe viel probiert, aber ich kann meine WebApplication, die auf Nodejs Express mit JADE Templating-Engine gebaut wurde, nicht cachen.Wie cachen .js und .css und andere statische Dateien in Nodejs?

, was ich versuchte,

1- versucht pm2 Manager 2- Einstellung NODE_ENV zu production 3- Cache-Modul versucht, hinzugefügt (aber ich DINT zu verstehen, wie das verwenden)

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

aber Es wurde nicht zwischengespeichert.

thi ist das Ergebnis von https://nodejs.org/en/ enter image description here

und das ist das Ergebnis meiner Web-app, enter image description here

ich alle statischen Dateien wie zwischenzuspeichern müssen, das zu tun .. mir freundlicherweise helfen bitte .. danke

+0

Sie nur für 100 Sekunden zwischenspeichern? Darüber hinaus wird die Instanziierung von 'NodeCache' nichts bewirken. Dies kann nützlich sein https://medium.com/the-node-js-collection/simple-server-side-cache-for-express-js-with-node-js-45ff296ca0f0 – nilobarp

+0

Der Browser speichert statische Ressourcen automatisch einmal Sie hosten es tatsächlich irgendwo ... Jedenfalls sollten Sie keinen Knoten verwenden, um statische Dateien in der Produktion zu hosten und sollten den Webserver/Reverse-Proxy verwenden, den Sie verwenden, um Ihre Website/Anwendung der Öffentlichkeit zugänglich zu machen (nginx/apache/etc). Sie müssen kein explizites Caching oder Modul in Ihrem Code verwenden. – AllTheTime

+0

Nichts ist falsch mit einem Knoten-basierten Server. Für das clientseitige Caching setzen Sie die richtigen Header https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control – nilobarp

Antwort

1

Set Cache-Control Header in handler Methode.

app.get('/', function(req, res){ 
    res.set('Cache-Control', 'max-age=31536000'); 
    res.send('hello world'); 
}); 

Es gibt keine Notwendigkeit node-cache für Client-seitiges Caching zu verwenden.

+0

bro was ist res.render ('index')? – AnonymousObject

+0

bro, aber js, CSS-Dateien wurden nicht zwischengespeichert, max Alter ist 0 – AnonymousObject

Verwandte Themen