Node.js
Usare Browserfiy per risolvere l'errore 'richiesto' con i browser
Ricerca…
Esempio: file.js
In questo esempio abbiamo un file chiamato file.js.
Supponiamo di dover analizzare un URL utilizzando il modulo querystring di JavaScript e NodeJS.
Per fare questo, tutto ciò che devi fare è inserire la seguente dichiarazione nel tuo file:
const querystring = require('querystring');
var ref = querystring.parse("foo=bar&abc=xyz&abc=123");
Cosa sta facendo questo frammento?
Bene, per prima cosa, creiamo un modulo querystring che fornisce utility per l'analisi e la formattazione delle stringhe di query URL. Si può accedere usando:
const querystring = require('querystring');
Quindi, analizziamo un URL usando il metodo .parse (). Analizza una stringa di query URL (str) in un insieme di coppie chiave e valore.
Ad esempio, la stringa di query 'foo=bar&abc=xyz&abc=123'
viene analizzata in:
{ foo: 'bar', abc: ['xyz', '123'] }
Sfortunatamente, i browser non hanno il metodo richiesto definito, ma lo fa Node.js.
Installa Browserfy
Con Browserify puoi scrivere il codice che usa richiede nello stesso modo in cui lo useresti nel nodo. Quindi, come risolvi questo? È semplice.
- Primo nodo di installazione, fornito con npm. Quindi fa:
npm install -g browserify
- Cambia nella directory in cui si trova il file.js e Installa il nostro modulo querystring con npm:
npm install querystring
Nota: se non si modifica la directory specifica, il comando avrà esito negativo poiché non riesce a trovare il file che contiene il modulo.
- Ora raggruppa in modo ricorsivo tutti i moduli necessari a partire da file.js in un unico file chiamato bundle.js (o quello che ti piace chiamarlo ) con il comando browserify :
browserify file.js -o bundle.js
Browserify analizza l'Abstract Syntax Tree per le chiamate require () per attraversare l'intero grafico delle dipendenze del tuo
- Infine scendi un singolo tag nel tuo html e il gioco è fatto!
<script src="bundle.js"></script>
Quello che succede è che ottieni una combinazione del tuo vecchio file .js ( file.js ) e del tuo file bundle.js appena creato. Questi due file sono uniti in un singolo file.
Importante
Si prega di tenere presente che se si desidera apportare modifiche al file.js e non influenzerà il comportamento del programma. Le tue modifiche diventeranno effettive solo se modifichi il bundle.js appena creato
Cosa significa?
Ciò significa che se si desidera modificare file.js per qualsiasi motivo, le modifiche non avranno alcun effetto. Devi davvero modificare bundle.js poiché è un'unione di bundle.js e file.js.