Informazioni sul web pack e sugli altri caricatori di moduli

1

Sono un po 'confuso riguardo ai caricatori di moduli Come sto usando webpack che carica moduli come blocchi ma è solo durante lo sviluppo Quando il codice viene minimizzato sarà un singolo file per tutti gli script e css e lì come funzionano i caricatori di moduli ?

Qualsiasi spiegazione sarebbe apprezzata

    
posta Shikha thakur 05.11.2016 - 15:49
fonte

1 risposta

2

Risposta breve:

Hai sempre un unico file noto come bundle con il webpack, ma genererà una mappa sorgente in fase di sviluppo (che lo farà apparire come file multipli).

Risposta dettagliata:

I browser Web non supportano nativamente CommonJS .

Ad esempio questo non è supportato nativamente dai browser:

var module = require('./module');

webpack è il modulo bundler (non loader).

I bundler dei moduli ti permettono di dare loro un singolo file per iniziare il modulo e scriveranno tutti i moduli necessari (file) in un singolo file di grandi dimensioni noto come pacchetto.

Puoi quindi aggiungere un singolo tag <script> al tuo codice HTML, che caricherà il pacchetto.

Il motivo per cui vedi più file negli strumenti di sviluppo del browser è perché webpack genera automaticamente una mappa sorgente che è di solito un file JSON che indica agli strumenti di sviluppo del browser come visualizzare il pacchetto generato come file multipli.

Tl; dr

Questo è molto diverso dall'utilizzo di <script> in alcuni modi:

  1. È necessario utilizzare globals (o creare un oggetto namespace globale) per ottenere un riferimento alle dipendenze dei moduli. Un esempio di questo è AngularJS che espone il angular globale var, e il tuo modulo usa solo angualr var globale senza require() ing (specificando da dove proviene).

  2. Devi scrivere manualmente lo script individuale nell'ordine corretto prima del tag <script> del modulo che utilizza tali dipendenze. Ad esempio, devi posizionare il tag script di AngularJS <script> prima dei moduli <script> altrimenti le cose non funzioneranno.

  3. Se intendi minimizzare il tuo codice usando i tag script di regualr, finirai (quasi) sempre a duplicare più tag <script> tra il tuo HTML e lo script di compilazione minification.

risposta data 05.11.2016 - 17:44
fonte

Leggi altre domande sui tag