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,

Node.js system modułowy

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ń.

Utwórz moduł

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.


Gdzie umieścić moduł serwera

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:

nodejs-wymagają

Załadowane z modułu pamięci podręcznej plików

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.

Ładowanie z modułu natywnej

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.

Wczytaj z pliku

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:

  • http, fs, ścieżki itd Moduł rodzimych.
  • ./mod lub pl/mod, względna ścieżka pliku modułu.
  • / Pathtomodule / mod, bezwzględna ścieżka modułu plików.
  • mod, nienatywną Moduł pliku modułu.
Node.js system modułowy
10/30