คุณสามารถแชร์ไดเร็กทอรี node_modules ระหว่างโปรเจ็กต์ได้อย่างแน่นอน
จากเอกสารของโหนด :
หากตัวระบุโมดูลส่งผ่านไปยัง require () ไม่ใช่โมดูลดั้งเดิมและไม่ได้ขึ้นต้นด้วย '/', '../' หรือ './' โหนดจะเริ่มต้นที่ไดเร็กทอรีหลักของโมดูลปัจจุบันและเพิ่ม / node_modules และพยายามโหลดโมดูลจากตำแหน่งนั้น
หากไม่พบที่นั่นระบบจะย้ายไปยังไดเร็กทอรีพาเรนต์และอื่น ๆ จนกว่าจะถึงรูทของระบบไฟล์
ตัวอย่างเช่นหากไฟล์ที่ '/home/ry/projects/foo.js' เรียกว่าต้องใช้ ('bar.js') โหนดจะดูในตำแหน่งต่อไปนี้ตามลำดับนี้:
/home/ry/projects/node_modules/bar.js /home/ry/node_modules/bar.js /home/node_modules/bar.js /node_modules/bar.js
ดังนั้นเพียงแค่ใส่โฟลเดอร์ node_modules ไว้ในไดเร็กทอรีโปรเจ็กต์ของคุณและใส่โมดูลที่คุณต้องการ เพียงแค่ต้องการให้เหมือนปกติ เมื่อโหนดไม่พบไดเร็กทอรี node_modules ในโฟลเดอร์โปรเจ็กต์ของคุณโหนดจะตรวจสอบโฟลเดอร์หลักโดยอัตโนมัติ ดังนั้นให้สร้างโครงสร้างไดเร็กทอรีของคุณดังนี้:
-myProjects
--node_modules
--myproject1
---sub-project
--myproject2
ดังนั้นสิ่งนี้แม้แต่การอ้างอิงของโปรเจ็กต์ย่อยของคุณก็สามารถวาดบนที่เก็บ node_modules หลักของคุณได้
ข้อเสียเปรียบอย่างหนึ่งในการทำเช่นนี้คือคุณจะต้องสร้างไฟล์ package.json ของคุณด้วยตนเอง (เว้นแต่จะมีใครรู้วิธีทำให้สิ่งนี้เป็นไปโดยอัตโนมัติด้วยคำรามหรืออะไรบางอย่าง) เมื่อคุณติดตั้งแพ็กเกจและเพิ่ม --save arg ลงในnpm install
คำสั่งมันจะต่อท้ายโดยอัตโนมัติในส่วนการอ้างอิงหรือ package.json ของคุณซึ่งสะดวก
require
โมดูล d มิฉะนั้นไม่มีไม่ได้เป็นอย่างเป็นทางการ "กลาง" โฟลเดอร์สำหรับใช้กับnode_modules
require()