2012-02-01 13 views
7

In relazione al mio early question su come aggiungere la cache manifest in node.js, la mia domanda ora è correlata a come memorizzare l'HTML generato da node.js. Dato che non abbiamo un file fisico come in php (index.php) non possiamo memorizzare nella cache questo tipo di file.Come cache con il sito manifest Node.js

Come è possibile memorizzare nella cache una pagina "non esistente"? Basta aggiungere nella cache:

CACHE MANIFEST 

    CACHE: 
    # plain files to cache 
    /javascripts/client.js 
    /stylesheets/style.css 
    /stylesheets/style.styl 
    # generated files like/
    /
    /content 

Qualche idea su come risolvere questo problema?

Grazie!

Soluzione:

Add router per tornare il file cache.manifest con il corretto mime-type:

app.get("/offline.manifest", function(req, res){ 
    res.header("Content-Type", "text/cache-manifest"); 
    res.end("CACHE MANIFEST"); 
}); 

Found at stackoverflow

risposta

3

La cache manifest lista degli URL che dovrebbero essere memorizzati nella cache. Il client che accede a questi URL non sa se si tratta di file html statici su Apache o contenuti dinamici generati da node.js o altro.

Tu sei fondamentalmente di impostare il client:

  1. leggere il mio elenco di URL
  2. passare attraverso ogni url
  3. Scarica la risposta e riporla al sicuro
  4. controllare da qualche parte sul mio cache.manifest se è stato modificato e quindi procedere al passaggio 1

Quindi, fintanto che i dati generati da node.js sono di nuovo e tramite un URL non ci sono problemi nel definirlo come una linea nel manifest della cache.

E se siete preoccupati "come faccio a sapere quali URL ci sono" si può sempre generare il file di codice da cache.manifest node.js sé - ma ricorda di servire il corretto tipo di contenuto text/cache-manifest

Problemi correlati