Node.js
Korzystanie z Browserfiy do rozwiązania błędu „wymaganego” w przeglądarkach
Szukaj…
Przykład - plik.js
W tym przykładzie mamy plik o nazwie file.js.
Załóżmy, że musisz przeanalizować adres URL za pomocą JavaScript i modułu kwerendowego NodeJS.
Aby to osiągnąć, wystarczy wstawić do pliku następującą instrukcję:
const querystring = require('querystring');
var ref = querystring.parse("foo=bar&abc=xyz&abc=123");
Co robi ten fragment?
Po pierwsze, tworzymy moduł querystring, który zapewnia narzędzia do analizowania i formatowania ciągów zapytań URL. Można uzyskać do niego dostęp za pomocą:
const querystring = require('querystring');
Następnie analizujemy adres URL za pomocą metody .parse (). Analizuje ciąg zapytania URL (str) w zbiór par kluczy i wartości.
Na przykład ciąg zapytania 'foo=bar&abc=xyz&abc=123'
jest przetwarzany na:
{ foo: 'bar', abc: ['xyz', '123'] }
Niestety przeglądarki nie mają zdefiniowanej wymaganej metody, ale Node.js tak.
Zainstaluj przeglądarkę
Za pomocą Browserify możesz pisać kod, który używa wymagania w taki sam sposób, jak używałbyś go w Węźle. Jak to rozwiązać? To proste.
- Najpierw zainstaluj węzeł, który jest dostarczany z npm. Następnie wykonaj:
npm install -g browserify
- Przejdź do katalogu, w którym jest twoje file.js i zainstalować nasz moduł ciągu kwerendy z KMP:
npm querystring instalacji
Uwaga: Jeśli nie zmienisz w określonym katalogu, polecenie zakończy się niepowodzeniem, ponieważ nie może znaleźć pliku zawierającego moduł.
- Teraz rekurencyjnie spakuj wszystkie wymagane moduły, zaczynając od file.js, w jeden plik o nazwie bundle.js (lub jakkolwiek chcesz go nazwać) za pomocą komendy Browserify :
Browserify file.js -o bundle.js
Browserify analizuje abstrakcyjne drzewo składni pod kątem wywołań request (), aby przejść przez cały wykres zależności
- Na koniec wklej pojedynczy tag do swojego html i gotowe!
<script src="bundle.js"></script>
To, co się dzieje, to kombinacja starego pliku .js (czyli file.js ) i nowo utworzonego pliku bundle.js . Te dwa pliki są scalone w jeden pojedynczy plik.
Ważny
Należy pamiętać, że jeśli chcesz dokonać zmian w pliku file.js i nie wpłynie to na zachowanie twojego programu. Zmiany zaczną obowiązywać tylko w przypadku edycji nowo utworzonego pliku bundle.js
Co to znaczy?
Oznacza to, że jeśli chcesz edytować plik.js z jakiegokolwiek powodu, zmiany nie będą miały żadnych efektów. Naprawdę musisz edytować plik bundle.js, ponieważ jest to połączenie plików bundle.js i file.js.