Latest web development tutorials

ระบบโมดูล Node.js

การสร้างไฟล์ Node.js สามารถเรียกกันและกัน Node.js ให้ระบบโมดูลาร์ที่เรียบง่าย

โมดูลเป็นส่วนสำคัญของการใช้งาน Node.js ไฟล์และโมดูลเป็น 1-1 ในคำอื่น ๆ ไฟล์ Node.js เป็นโมดูลแฟ้มนี้อาจจะเป็นรหัส JavaScript, JSON หรือรวบรวม C / C ++ ส่วนขยาย

สร้างโมดูล

ใน Node.js, สร้างโมดูลเป็นเรื่องง่ายมากที่เราสร้างแฟ้ม 'main.js' ดังต่อไปนี้:

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

ตัวอย่างข้างต้นรหัส require ( './ สวัสดี') แนะนำไดเรกทอรีไฟล์ hello.js ปัจจุบัน (./ ไดเรกทอรีปัจจุบัน Node.js JS ต่อท้ายเริ่มต้น)

Node.js ให้การส่งออกและต้องใช้วัตถุสองที่การส่งออกมีการเชื่อมต่อโมดูลเปิดต้องใช้โมดูลสำหรับการซื้อจากอินเตอร์เฟซภายนอกคือการส่งออกเป้าหมายโมดูลการเข้าซื้อกิจการ

ต่อไปเรามาสร้างไฟล์ hello.js ดังต่อไปนี้:

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

ในตัวอย่างข้างต้น hello.js การส่งออกโดยโลกเป็นโมดูลอินเตอร์เฟซการเข้าถึงวัตถุโมดูลนี้ใน main.js โหลดผ่าน require ( './ สวัสดี') แล้วคุณโดยตรงสามารถเข้าถึงวัตถุสมาชิก hello.js ในการส่งออก ฟังก์ชั่น

บางครั้งเราก็ต้องการที่จะจัดแพคเกจโมดูลวัตถุ, รูปแบบมีดังนี้:

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

ตัวอย่างเช่น:

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

ดังนั้นคุณจะได้รับวัตถุโดยตรง:

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

การเปลี่ยนแปลงเพียงอย่างเดียวคือการใช้ module.exports โมดูลอินเตอร์เฟซ = สวัสดีแทนที่ exports.world = function () {} เมื่ออ้างอิงโมดูลนอกสวัสดีวัตถุที่มีวัตถุอินเตอร์เฟซที่จะออกตัวเองมากกว่าการส่งออกเดิม


ที่จะนำโมดูลเซิร์ฟเวอร์

บางทีคุณอาจจะได้สังเกตเห็นว่าเราได้ใช้ในรหัสโมดูล เช่นนี้

var http = require("http");

...

http.createServer(...);

Node.js มาพร้อมกับคุณสมบัติที่เรียกว่า "http" โมดูลเราขอให้กลับมาคุ้มค่าให้กับตัวแปรท้องถิ่นในรหัสของเรา

นี้จะทำให้เราเป็นตัวแปรท้องถิ่นมีทุกวิธีการสาธารณะโมดูล http ให้วัตถุ

วิธีการ Node.js ต้องใช้กลยุทธ์การค้นหาไฟล์จะเป็นดังนี้:

เนื่องจากมีโมดูลชั้นสี่ (โมดูลหลักและสามโมดูลไฟล์) Node.js แม้จะต้องใช้วิธีการง่ายมาก แต่ภายในมันเป็นโหลดที่ซับซ้อนมากโหลดลำดับความสำคัญของพวกเขาจะแตกต่างกัน ที่แสดงด้านล่าง:

nodejs-จำเป็นต้องมี

โหลดจากโมดูลแคชไฟล์

แม้จะมีการจัดลำดับความสำคัญที่แตกต่างกันโมดูลพื้นเมืองและไฟล์โมดูล แต่มันจะไม่ได้มีความสำคัญกว่าไฟล์โมดูลที่มีอยู่จากการโหลดโมดูลแคช

โหลดจากโมดูลพื้นเมือง

ลำดับความสำคัญโมดูลพื้นเมืองหลังจากโมดูลแคชไฟล์ที่มีความสำคัญ ต้องใช้วิธีการหลังจากแยกชื่อไฟล์ให้ตรวจสอบความสำคัญไม่ว่าจะเป็นโมดูลในรายการโมดูลพื้นเมือง ในโมดูล http ตัวอย่างเช่นแม้ว่าจะมีไฟล์ HTTP / http.js / http.node / http.json ในไดเรกทอรี require ( "http") จะไม่ถูกโหลดจากแฟ้ม แต่โหลดจากโมดูลพื้นเมือง

โมดูลพื้นเมืองนอกจากนี้ยังมีเขตกันชนก็ยังโหลดพิเศษจากแคช หากบัฟเฟอร์ไม่โหลดก่อนแล้วโทรโหลดโมดูลพื้นเมืองจะถูกโหลดและดำเนินการ

โหลดจากไฟล์

เมื่อไฟล์ไม่ได้อยู่ในโมดูลแคชและไม่โมดูลพื้นเมืองเมื่อ Node.js จะต้องมีพารามิเตอร์ที่เข้ามาวิธีการวิเคราะห์และโหลดไฟล์ที่เกิดขึ้นจริงจากระบบไฟล์ที่ขั้นตอนการโหลดของการรวบรวมและรายละเอียดบรรจุภัณฑ์ในส่วนก่อนหน้า มันได้รับการแนะนำที่เราจะอธิบายในรายละเอียดขั้นตอนการหาโมดูลไฟล์ซึ่งยังมีรายละเอียดบางอย่างมูลค่ารู้

ต้องใช้วิธีการโอนยอมรับพารามิเตอร์ต่อไปนี้:

  • HTTP, FS เส้นทาง ฯลฯ โมดูลพื้นเมือง
  • ./mod หรือ ../mod เส้นทางญาติโมดูลไฟล์
  • / Pathtomodule / MOD, เส้นทางที่แน่นอนของโมดูลไฟล์
  • MOD, โมดูลไฟล์โมดูลที่ไม่ใช่เจ้าของภาษา