Blocchi di Javascript nelle pagine Web

0

Sto cercando di trovare i migliori pattern per l'utilizzo di javascript nei miei siti, e così facendo tendo a guardare il codice sorgente in alcuni siti (meetup.com, facebook.com, ecc.). Una cosa che mi colpisce è il fatto che questi siti sembrano comprimere tutto il loro javascript e posizionarlo nella pagina effettiva piuttosto che usare <script src="...." type="text/javascript">

Le mie domande:

1: Come stanno comprimendo (o come si comprimono) il javascript? Dovrei usare YUIcompress su ogni chiamata di pagina?

2: Qual è il vantaggio di fare le cose in questo modo piuttosto che importare script separati? Penserei che gli script separati renderebbero la pagina stessa più veloce.

Grazie

    
posta Paul 03.04.2014 - 01:18
fonte

2 risposte

2

Come stanno comprimendo (o come si comprimono) il javascript? Dovrei usare YUIcompress su ogni chiamata di pagina?

Di solito uso qualcosa come UglifyJS prima di caricare i miei file di script. Farlo ogni volta che hai una chiamata su una pagina non sembra molto efficiente. È preferibile avere già il codice JavaScript minified / compresso prima di renderlo disponibile come risorsa nella pagina.

Qual è il vantaggio di fare le cose in questo modo piuttosto che importare script separati? Penserei che gli script separati renderebbero la pagina stessa più veloce.

Si discute se caricare un file di script esterno o se lo script è in linea è più veloce o più lento. Se lo script è in linea, è una risorsa in meno che deve essere caricata prima che la pagina venga caricata. In genere, se il tuo script è piccolo (meno di 10-15 linee), è meglio averlo solo in un blocco sulla pagina piuttosto che in un file esterno.

Google ha un plug-in chiamato PageSpeed che analizzerà il tuo sito e ti mostrerà alcuni modi per ottimizzarlo. Hanno un numero di articoli che toccano l'ottimizzazione di JavaScript.

    
risposta data 03.04.2014 - 01:36
fonte
1

Qual è il vantaggio di fare le cose in questo modo piuttosto che importare script separati? Penserei che gli script separati renderebbero la pagina stessa più veloce.

In una parola "memorizzazione nella cache" il browser può memorizzare nella cache il file di script scaricato e utilizzarlo ripetutamente senza ricorrere alla rete. Se incorpori il tuo javascript in HTML, viene scaricato con ogni richiesta di pagina.

Ma questo è solo l'inizio. I browser moderni nascondono anche i risultati del parser in modo che lo script debba essere analizzato una sola volta, alcuni addirittura compilano snippet al codice macchina e memorizzano nella cache l'eseguibile risultante. Tutte queste ottimizzazioni aggressive dipendono dall'avere una fonte statica riconoscibile, è molto più difficile da fare quando il javascript è mescolato con pagine web casuali.

    
risposta data 03.04.2014 - 03:09
fonte

Leggi altre domande sui tag