node.js แนะนำแนวคิดของโมดูล (โมดูล) โมดูลสามารถส่งออกฟังก์ชั่นตัวแปร ฯลฯ ผ่านโมดูลส่งออกหรือส่งออกเพื่อเปิดใช้งานสคริปต์ JavaScript อื่น ๆ ที่จะแนะนำและใช้ผ่านฟังก์ชั่นที่ต้องการ ()
ค่าเริ่มต้นของ module.exports เป็นวัตถุที่ว่างเปล่า {} ดังนั้นค่าเริ่มต้นของการส่งออกก็คือ {} การส่งออกเป็นการอ้างอิงถึงโมดูลส่งออกซึ่งเป็นแบบนี้ประมาณนี้ภายในโมดูล:
exports = module.exports = {};ตัวอย่างเช่นการสร้างโมดูลใน node.js นั้นง่ายมาก ไฟล์เป็นโมดูล ดังนั้นเราจึงสร้างไฟล์ Module Name.js และใช้การส่งออกและต้องการวัตถุเพื่อให้อินเทอร์เฟซและโมดูลอ้างอิงไปยังโลกภายนอก
name.js
var myName = function () {var name = 'AmberyLopez'; console.log (ชื่อ);}; exports.myname = myName;สิ่งนี้ต้องการสิ่งนี้เมื่อใช้งาน
app.js
ชื่อ var = ต้องการ ('./ name');หากไฟล์ Name.js ที่เราสร้างคือการจัดเตรียมอินเทอร์เฟซและโมดูลอ้างอิงภายนอกโดยใช้โมดูลส่งออกและต้องการวัตถุ
name.js
var myName = function () {var name = 'AmberyLopez'; console.log (ชื่อ);}; module.exports = myName;app.js
ชื่อ var = ต้องการ ('./ name');การมอบหมายการส่งออกเป็นเพียงการเพิ่มแอตทริบิวต์ myName ไปยังโมดูลวัตถุเปล่าส่งออก เหตุใดการส่งออกจึงใช้วิธีการเพิ่มแอตทริบิวต์แทนการส่งออก = myName?
การส่งออกเป็นค่าที่อ้างอิงโมดูลส่งออก เมื่อมีการเปลี่ยนแปลงการส่งออกโมดูลการส่งออกจะไม่เปลี่ยนแปลง เมื่อการส่งออกถูกส่งออกการดำเนินการส่งออกจริงคือโมดูลส่งออกไม่ใช่การส่งออก
ถ้าชื่อ. js เปลี่ยนเป็น
var myName = function () {var name = 'AmberyLopez'; console.log (ชื่อ);}; exports = myName;app.js
ชื่อ var = ต้องการ ('./ name'); <br> console.log (ชื่อ);จะมีการรายงานข้อผิดพลาดเมื่อดำเนินการ เพราะในตัวอย่างก่อนหน้านี้โดยการเพิ่มแอตทริบิวต์ไปยังการส่งออกและตอนนี้หน่วยความจำที่ชี้ไปที่การส่งออกได้รับการแก้ไขการส่งออกและโมดูลการส่งออกไม่ชี้ไปที่หน่วยความจำเดียวกันอีกต่อไปนั่นคือหน่วยความจำที่ชี้ไปที่โมดูลการส่งออกไม่เปลี่ยนแปลงและยังคงเป็นวัตถุเปล่า {}