2016-05-12 22 views
8

immagino un caso d'uso popolare per <script type="module"> sarà per il caricamento di un "modulo principale", da cui tutte le dipendenze di un progetto sono risolti attraverso un albero di import dichiarazioni. Tuttavia, sul Web, sembra che ciò creerebbe un collo di bottiglia di caricamento, in quanto il browser non può sapere quali script scaricare fino a quando non ha analizzato i loro dipendenti per import. Confrontalo con una situazione in cui tutti gli script di un progetto sono referenziati in elementi separati <script> nel file HTML fornito inizialmente. Gli script possono essere scaricati tutti in parallelo, mentre e dopo che l'HTML è stato analizzato.<script type = "modulo"> prestazioni di carico

<script type="module"> crea un collo di bottiglia di caricamento? Più elementi <script type="module"> su una pagina possono fornire dipendenze l'uno per l'altro, quindi il browser non ha necessariamente bisogno di scaricare e analizzare JavaScript per capire cosa scaricare in seguito?

Suppongo che questo sarebbe un caso d'uso per HTTP/2 PUSH_PROMISE? Il server avrebbe bisogno di analizzare staticamente i file JavaScript e determinare le loro dipendenze prima del tempo. Ma anche se il browser potrebbe essere detto di scaricare i moduli in anticipo, mi chiedo se i moduli spinti non sarebbero ancora eseguire fino al import è stato analizzato. Almeno con <script>, so che avrebbero eseguito alla prima occasione.

+0

Immagino che HTTP2 possa essere utilizzato per mitigare gran parte dei problemi. Ma sono molto curioso di rispondere a questa domanda. –

+0

Nessuno dei browser attualmente supporta i moduli ES6.Non pensi che sia un po 'troppo presto per questa domanda? –

+0

@Gothdo Al contrario, se questa domanda non ha già avuto risposta, e la risoluzione del modulo ES6 è una de-ottimizzazione, sarebbe un po 'troppo tardi; la standardizzazione, l'implementazione e lo sforzo di adozione sarebbero spesi per una tecnologia surclassata da ciò che abbiamo già (almeno in scenari di produzione ad alte prestazioni). La mia speranza è che qualche pensiero sia stato investito qui, e un prototipo dimostra che '

Problemi correlati