Anche in un contesto di un'applicazione a singola pagina, l'idea di memorizzare nella cache è valida.
Considera che potresti utilizzare librerie JavaScript che sono pubblicamente disponibili (jQuery, ad esempio). È probabile che vengano utilizzate anche le applicazioni web di altre persone (singola o multipla). Se utilizzi lo stesso URI pubblico, potremmo riuscire a memorizzarlo nella cache.
Ma aspetta, forse hai la versione jQuery nascosta sui tuoi server, per scaricare altri, o perché puoi servire una connessione migliore, o qualsiasi altra cosa. Ora puoi essere in linea, giusto? Sì, a condizione che non ci siano altre app Web che utilizzano anche quella libreria o che è altamente improbabile che gli utenti utilizzino più di una di quelle webapp.
Cose che scrivi specificamente per quella tua singola pagina, che non hanno rilevanza per altre pagine o applicazioni, sì, puoi tranquillamente inline. Per il resto, direi: pensa più in largo della pagina.
Ci sono dei compromessi con l'approccio che suggerisci. Non è intrinsecamente male, e ci sono aspetti positivi chiari (meno richieste HTTP), e ci sono aspetti negativi (problemi di memorizzazione nella cache). Lo chiamerei ottimizzazione; se hai prove valide e verificabili che l'inlining risolverà un problema, allora è un buon motivo per farlo.
Potresti trovare i commenti su la risposta accettata per "Perché non incorporare stili / script in HTML invece di link? " pertinenti, in particolare :
If you are doing a single page app style site then where the vast majority of the code was specific to one page then it might make some sense still?
If the page is visited only once, yes. If visited multiple times, all the embedded stuff gets transmitted multiple times instead of just once and cached.
Do not forget the effects of a CDN or local caching at the isp. My request for the javascript for google likely never reaches google even if I have a cache miss locally because another person who uses the same isp will have already caused the isp to cache the data.
Esiste anche il potenziale problema di analisi , anche se è più un avvertimento che un problema irrisolto.