Sto costruendo un'applicazione a pagina singola utilizzando Express per il backend e AngularJS per il frontend e sto riscontrando alcuni problemi di cache.Express - Impostazione di maxAge diversi per determinati file
Non sto usando viste espresse, sto servendo solo file con il middleware express.static
.
I miei file statici sono in public/app
o public/dist
in base all'ambiente (dist ha file minificati).
app.use app.router
app.use express.static(cwd + '/public/' + publicFolder, maxAge: MAX_AGE)
Quando si richiede '/', app.router verifica se l'utente è connesso, e se tutto è ok, allora index.html
è servita via express.static
(mi basta chiamare next()
nel controller). Se l'utente non è connesso, esso viene reindirizzato a login.html
Il mio problema è che se ho impostato MaxAge, il mio file index.html
viene memorizzato nella cache e la prima richiesta di '/' non passa attraverso router
. Posso accedere all'app anche se non ho effettuato il login.
Se imposto maxAge su 0, il problema scompare, ma voglio memorizzare nella cache tutti i miei file * .js e * .css.
Qual è l'approccio corretto a questo tipo di problemi? Inizia a utilizzare le visualizzazioni? Diversi punti di montaggio express.static
?
Molto importante questione necessaria a voce molto più forte. Può immaginare quante persone si rompono la testa su questo argomento. Grazie per la buona spiegazione. – zeliboba