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:
-
È 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).
-
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.
-
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.