ความคิดเห็นของรหัสได้รับการอธิบายอย่างชัดเจนมากดังนั้นฉันจะไม่พูดเรื่องไร้สาระมากที่นี่เพียงแค่นำเสนอรหัส:
การคัดลอกรหัสมีดังนี้:
/*ในโหนดโมดูลสามารถโหลดได้โดยใช้ฟังก์ชัน reghed ()
* ฟังก์ชั่นที่ต้องการใช้พารามิเตอร์ ค่าพารามิเตอร์สามารถเป็นชื่อไฟล์ของโมดูลที่มีเส้นทางเต็มหรือชื่อโมดูล เมื่อใช้โมดูลที่ให้ไว้ในโหนดคุณจะต้องระบุชื่อโมดูลในฟังก์ชันที่ต้องการ
-
// สร้างหน้า 2.js; รหัสมีดังนี้
var name = "dr. sisi";
exports.name = ชื่อ;
// สร้างหน้า 1.js; รหัสมีดังนี้
var two = ต้องการ ("./ 2.js");
console.log (two.name);
// ผลลัพธ์ผลลัพธ์: ดร. Sisi
-
* ไฟล์สคริปต์ทั้งหมดในโหนดเป็นไฟล์โมดูลดังนั้น 1.JS จึงเป็นไฟล์โมดูล เนื่องจากไฟล์ถูกเรียกใช้โดยตรงผ่านคำสั่ง Node ในหน้าต่างบรรทัดคำสั่งไฟล์โมดูลจึงถูกกำหนดเป็นโมดูลหลักของแอปพลิเคชันในโหนด
* คุณสามารถใช้วิธีการต่อไปนี้เพื่อตรวจสอบว่าโมดูลปัจจุบันเป็นโมดูลหลัก
-
if (module === require.main) {
console.log ("โมดูลหลักที่โมดูลปัจจุบัน");
-
// ผลลัพธ์ผลลัพธ์: โมดูลหลักอยู่ในโมดูลปัจจุบัน
รหัส //2.js
var name = "dr. sisi";
console.log (ชื่อ);
exports.name = ชื่อ;
รหัส //1.js:
var two = ต้องการ ("./ 2.js");
var two = ต้องการ ("./ 2.js");
// แม้ว่าจะมีการอ้างอิงสองครั้ง แต่ก็มีการดำเนินการเพียง 1 ครั้งเพื่อเอาต์พุตคอนโซลล็อก (ชื่อ)
/*require.resolve(str)
* ในโหนดฟังก์ชั่นนี้สามารถใช้ในการสืบค้นชื่อไฟล์ด้วยเส้นทางสัมบูรณ์ที่สมบูรณ์ของไฟล์โมดูล
-
var url = require.resolve ("./ 2");
console.log (url);
// ผลลัพธ์ผลลัพธ์: e: /node/gys/2.js
/*require.cache
* ในโหนดคุณสมบัตินี้แสดงพื้นที่แคชของโมดูลที่โหลดทั้งหมด
-
var two = ต้องการ ("./ 2.js");
var cache = require.cache;
console.log (แคช);
/*ผลลัพธ์ผลลัพธ์:
* {'e: //node//gys//1.js':
{id: '.',
การส่งออก: {},
ผู้ปกครอง: null,
ชื่อไฟล์: 'e: //node//gys//1.js'
โหลด: เท็จ
เด็ก ๆ : [[วัตถุ]],
เส้นทาง:
['E: // node // gys // node_modules',
'E: // node // node_modules'
'e: // node_modules']}
'E: //node//gys//2.js':
{id: 'e: //node//gys//2.js'
การส่งออก: {ชื่อ: 'ดร. Sisi '}
พ่อแม่:
{id: '.',
การส่งออก: {},
ผู้ปกครอง: null,
ชื่อไฟล์: 'e: //node//gys//1.js'
โหลด: เท็จ
เด็ก ๆ : [วัตถุ],,
เส้นทาง: [Object]},
ชื่อไฟล์: 'e: //node//gys//2.js'
โหลด: จริง
เด็ก: [],
เส้นทาง:
['E: // node // gys // node_modules',
'E: // node // node_modules'
'e: // node_modules']}}
-
รหัส //2.js
var name = "dr. sisi";
console.log (ชื่อ);
รหัส //1.js
// เมื่อคุณใช้คำหลักลบเพื่อลบวัตถุโมดูลแคชในแคชในครั้งต่อไปที่โมดูลจะถูกโหลดรหัสในโมดูลจะถูกเรียกใช้อีกครั้ง ใช้รหัส:
var two = ต้องการ ("./ 2.js");
var two1 = ต้องการ ("./ 2.js");
console.log ("ก่อนลบ")
ลบ require.cache [require.resolve ("./ 2.js")];
console.log ("หลังการลบ");
var two2 = ต้องการ ("./ 2.js");
-
* ผลลัพธ์ผลลัพธ์:
* Dr. Sisi
* ก่อนการลบ
* หลังการลบ
* Dr. Sisi
-
พวกคุณรู้วิธีใช้ต้องการใน node.js หรือไม่? หากคุณมีคำถามใด ๆ โปรดฝากข้อความไว้