Sto sviluppando un'applicazione Web con molte dipendenze di javascript e css di terze parti. Da quando ho scoperto Node.js, bower e gulp, trovare e installare tali dipendenze è stato un gioco da ragazzi. Tuttavia, ho perseguito in modo aggressivo una politica di concatenazione di tutti i miei javascript in un singolo file e idem per tutti i miei fogli di stile. Dopo la concatenazione e la minimizzazione, la mia applicazione web dipende solo da due file abbastanza grandi (main.js e main.css). Per riferimento, il mio file main.js ha una dimensione di 1,6 MB e il mio file main.css ha una dimensione di 261 KB. Non enorme in alcun modo, ma molto più grande di ogni singola dipendenza personale. È ottimale o le dimensioni crescenti di questi file superano l'ottimizzazione ottenuta facendo meno richieste? C'è uno scenario in cui questa strategia sarebbe una cattiva idea?Si basa su pochi file di grandi dimensioni, in quanto le dipendenze sono efficienti?
risposta
Sì. Il non consolidamento delle risorse comporta un sovraccarico della rete. Ma quando il j diventa così grande, dovrebbe essere diviso.
Tutti i principali browser preload script e css. Quindi, se dividi il tuo js 1,6 MB in 3, il browser caricherà tutti e tre i css insieme in 4 connessioni.
Si può pensare che la larghezza di banda totale sia la stessa, quindi perché preoccuparsi? Ma potrebbe essere più veloce, perché:
- Disegna più larghezza di banda dal server.
- Disegna più larghezza di banda da altri programmi/servizi.
- Disegna più larghezza di banda da altre schede nello stesso browser.
- Le parti possono essere analizzate e possono essere eseguite quando altre parti sono ancora in fase di download.
- Se si aggiorna solo una delle parti, le altre parti possono essere lette dalla cache.
1,6 MB è molto grande e dovresti vedere un miglioramento della velocità se lo dividi. Ma il punto debole dipende da molti fattori, quindi è necessario sperimentare per vedere quale dimensione della parte funziona meglio per voi.
In effetti, è così grande che dovresti rimandare la sceneggiatura, come ha commentato Mr_Green. Lascia che css e html inizino per primi, mostra un'icona di caricamento e carica i tuoi grandi script.
- 1. Quanto sono efficienti le proiezioni di MongoDB?
- 2. Come creare scritture di filestream veloci ed efficienti su file sparsi di grandi dimensioni
- 3. Maven si basa sulle modifiche ai file
- 4. xmlstarlet sel su file di grandi dimensioni
- 5. Perché le dimensioni della mia unione sono più grandi di quanto mi aspettassi?
- 6. Come si analizzano i file di grandi dimensioni in Groovy senza superare le dimensioni dell'heap?
- 7. Progettazione basata su domini: come modellare le relazioni che sono grandi ma con pochi comportamenti
- 8. Supporto file di grandi dimensioni in C++
- 9. Leggi file di grandi dimensioni in parallelo?
- 10. Le viste MySql sono dinamiche ed efficienti?
- 11. Le dimensioni degli aggiornamenti delle app per iOS sono molto più grandi delle dimensioni delle app
- 12. File JSON di grandi dimensioni
- 13. file-filereader api su file di grandi dimensioni
- 14. Carica file di grandi dimensioni nginx + uwsgi
- 15. Caricamento file di grandi dimensioni con WebSocket
- 16. Leggere file di grandi dimensioni in Java
- 17. Gli sfondi ripetuti in html sono più efficienti se sono più grandi di 1px?
- 18. Caricamenti di file di grandi dimensioni
- 19. Nmap :: Parser, errore di segmentazione su file di grandi dimensioni
- 20. Java - Trasferimento di file di grandi dimensioni su canali - NIO
- 21. Elaborazione di file xlsx di grandi dimensioni
- 22. Excel non apre file di grandi dimensioni
- 23. Ripristino connessione su caricamento file di grandi dimensioni
- 24. Java file di grandi dimensioni su disco IO Prestazioni
- 25. Estrarre tranquillamente le righe dal file di grandi dimensioni
- 26. Quanto sono sufficienti le prove?
- 27. Come organizzare file di grandi dimensioni?
- 28. Importa file di grandi dimensioni su DB MySQL
- 29. Scorrimento su tela di grandi dimensioni
- 30. PyInstaller dimensioni file molto grandi
AFAIK, lo stai facendo bene, ma penso che possa essere reso più ottimale. Stai utilizzando interi main.js e main.css nella pagina caricata contemporaneamente? in caso contrario, considerare di caricarli in modo asincrono quando necessario e caricare solo i file js e css relativi alla pagina caricata. –
Questa domanda è principalmente basata sull'opinione o richiede una discussione e quindi è off-topic per Stack Overflow. –
Puoi leggere qui per saperne di più. [link] (https://developers.google.com/web/tools/chrome-devtools/profile/evaluate-performance/rail?hl=en) –