Latest web development tutorials

sistem modul Node.js

Untuk membuat berkas Node.js dapat memanggil satu sama lain, Node.js menyediakan sistem modular sederhana.

Modul merupakan bagian penting dari aplikasi Node.js, file dan modul adalah 12:59. Dengan kata lain, file Node.js adalah modul, file ini mungkin kode JavaScript, JSON atau C / C ++ ekstensi dikompilasi.

Buat modul

Di Node.js, membuat modul sangat sederhana, seperti yang kita membuat file 'main.js', sebagai berikut:

var hello = require('./hello');
hello.world();

Contoh di atas, kode memerlukan ( './ halo') memperkenalkan file hello.js direktori saat ini (./ direktori saat ini, Node.js standar akhiran js).

Node.js memberikan ekspor dan memerlukan dua objek, di mana ekspor terbuka interface modul memerlukan modul untuk memperoleh dari antarmuka eksternal, yaitu modul ekspor target akuisisi.

Selanjutnya kita datang untuk membuat file hello.js, sebagai berikut:

exports.world = function() {
  console.log('Hello World');
}

Dalam contoh di atas, hello.js ekspor oleh dunia sebagai modul antarmuka akses objek, modul ini di main.js dimuat melalui memerlukan ( './ halo'), maka Anda dapat langsung mengakses anggota hello.js objek di ekspor fungsi.

Kadang-kadang kita hanya ingin paket modul obyek, format adalah sebagai berikut:

module.exports = function() {
  // ...
}

Sebagai contoh:

//hello.js 
function Hello() { 
	var name; 
	this.setName = function(thyName) { 
		name = thyName; 
	}; 
	this.sayHello = function() { 
		console.log('Hello ' + name); 
	}; 
}; 
module.exports = Hello;

Jadi Anda mendapatkan objek langsung:

//main.js 
var Hello = require('./hello'); 
hello = new Hello(); 
hello.setName('BYVoid'); 
hello.sayHello(); 

Satu-satunya perubahan adalah penggunaan module.exports modul interface = Hello diganti exports.world = function () {}. Ketika referensi modul luar, Hello objek yang objek antarmuka adalah untuk menjadi output itu sendiri, daripada ekspor asli.


Di mana untuk menempatkan modul server

Mungkin Anda telah memperhatikan bahwa kita telah digunakan dalam kode modul. Seperti ini:

var http = require("http");

...

http.createServer(...);

Node.js dilengkapi dengan fitur yang disebut "http" modul, kami meminta untuk mengembalikan nilai ke variabel lokal dalam kode kami.

Hal ini membawa kita ke dalam variabel lokal memiliki semua metode umum modul http memberikan suatu objek.

metode Node.js memerlukan strategi pencarian file adalah sebagai berikut:

Karena ada empat modul kelas (modul utama dan tiga modul file) Node.js, meskipun memerlukan metode sangat sederhana, tetapi dalam hal ini memuat sangat kompleks, memuat prioritas mereka berbeda. Seperti berikut:

nodejs-memerlukan

Diambil dari modul cache file

Meskipun modul prioritas yang berbeda modul asli dan file, namun tidak akan lebih diutamakan daripada load file modul yang ada dari modul cache yang.

Loading dari module asli

prioritas modul asli setelah modul file cache prioritas. memerlukan metode Setelah parsing nama file, prioritas check apakah modul dalam daftar modul asli. Dalam modul http, misalnya, meskipun ada file http / http.js / http.node / http.json di direktori, membutuhkan ( "http") tidak akan dimuat dari file, tapi diambil dari modul asli.

modul asli juga memiliki zona penyangga, juga istimewa diambil dari cache. Jika buffer tidak dimuat sebelumnya, kemudian memanggil pemuatan modul asli akan dimuat dan dieksekusi.

Beban dari file

Ketika file tidak ada di Modul cache, dan bukan modul asli ketika, Node.js akan memerlukan metode analisis parameter masuk, dan memuat file yang sebenarnya dari sistem file, proses pemuatan kompilasi dan rincian kemasan di bagian sebelumnya telah diperkenalkan, di mana kita akan menjelaskan secara rinci proses untuk menemukan modul file, yang juga memiliki beberapa rincian worth mengetahui.

memerlukan metode transfer menerima parameter berikut:

  • http, fs, jalan, dll, modul asli.
  • ./mod atau ../mod, modul path file relatif.
  • / Pathtomodule / mod, path absolut dari modul berkas.
  • mod, non-pribumi modul berkas modul.