Najlepszy samouczek Node.js system modułowy W 2024 r. W tym samouczku możesz dowiedzieć się Utwórz moduł,Gdzie umieścić moduł serwera,
Aby plik node.js mogą dzwonić do siebie, node.js zapewnia prosty system modułowy.
Moduł jest istotną częścią node.js aplikacji, plików i modułów jest jeden do jednego. Innymi słowy, node.js plik jest modułem, plik ten może być kod JavaScript, JSON lub kompilowane C / C ++ rozszerzeń.
W node.js, stworzenie modułu jest bardzo prosta, ponieważ tworzymy plik 'main.js', w następujący sposób:
var hello = require('./hello'); hello.world();
Powyższy przykład, kod require ( './ cześć ") przedstawił aktualny katalog plików hello.js (./ katalog bieżący, node.js domyślny przyrostek js).
Node.js zapewnia eksportu i wymagają dwa obiekty, w których eksport jest otwarte interfejsy moduł wymaga modułu do pozyskania z interfejsu zewnętrznego, czyli modułu eksportu nabycia celem.
Dalej dochodzimy do tworzenia hello.js plik, co następuje:
exports.world = function() { console.log('Hello World'); }
W powyższym przykładzie, hello.js eksportu przez świat jako moduł interfejsu dostępu do obiektów, ten moduł w main.js ładowany poprzez require ( './ cześć "), a następnie można bezpośrednio uzyskać dostęp do obiektu za członków hello.js w eksporcie funkcja.
Czasem po prostu chcemy zapakować moduł obiektu, format jest następujący:
module.exports = function() { // pl. }
Na przykład:
//hello.js function Hello() { var name; this.setName = function(thyName) { name = thyName; }; this.sayHello = function() { console.log('Hello ' + name); }; }; module.exports = Hello;
Więc masz bezpośredni przedmiot:
//main.js var Hello = require('./hello'); hello = new Hello(); hello.setName('BYVoid'); hello.sayHello();
Jedyną zmianą jest zastosowanie interfejsu modułu module.exports = Witam zastąpiony exports.world = function () {}. Po przedstawieniu modułu zewnętrznego, Hello obiekt, którego interfejs obiektu ma być sama moc, zamiast oryginalnych eksportu.
Być może zauważyłeś, że użyliśmy w kodzie modułu. Tak:
var http = require("http"); pl. http.createServer(pl.);
Node.js jest wyposażony w funkcję o nazwie modułu "http", pytamy go, aby powrócić do wartości zmiennej lokalnej w naszym kodzie.
To prowadzi nas do zmiennej lokalnej ma wszystkie metody publiczne moduł http stanowi przedmiot.
Metody node.js wymaga strategia wyszukiwania plików jest następująca:
Ponieważ istnieją cztery klasy moduł (moduł podstawowy i trzy plik modułów) node.js, choć wymaga metoda jest bardzo prosta, ale wewnątrz jest bardzo skomplikowane ładowanie, ładowanie ich priorytety są różne. Jak przedstawiono poniżej:
Pomimo modułu różne priorytety rodzimych modułu i plików, ale nie będzie mieć pierwszeństwo nad istniejącego pliku modułu obciążenia z modułu pamięci podręcznej.
Natywna priorytetem moduł po module pamięci podręcznej plików priorytetem. wymagają metod Po zakończeniu analizowania nazwę pliku, sprawdzić, czy moduł priorytetem w natywnej listy modułów. W module http, na przykład, choć nie jest to plik http / http.js / http.node / http.json w katalogu, require ( "http") nie będą wczytywane z pliku, ale ładowane od modułu natywnym.
Moduł Native posiada również strefę buforową, jest również korzystnie ładowane z pamięci podręcznej. Jeśli bufor nie jest załadowany, to wtedy nazwać natywny moduł ładowania zostanie załadowany i wykonywany.
Jeżeli plik nie istnieje w module pamięci podręcznej, a nie rodem Moduł kiedy node.js wymagać będzie metoda analityczna parametry przychodzące i załadować plik rzeczywisty z systemu plików, proces ładowania kompilowania i dane pakowania w poprzednim rozdziale został on wprowadzony, w którym opiszemy szczegółowo proces, aby znaleźć moduł plików, który ma także pewne szczegóły Ważne.
Metoda wymaga przeniesienia przyjmuje następujące parametry: