आप परियोजनाओं के बीच पूरी तरह से एक node_modules निर्देशिका साझा कर सकते हैं।
से नोड के प्रलेखन :
यदि मॉड्यूल पहचानकर्ता को पारित करने की आवश्यकता होती है () एक मूल मॉड्यूल नहीं है, और '/', '../, या' या ./ 'से शुरू नहीं होता है, तो नोड वर्तमान मॉड्यूल के मूल निर्देशिका में शुरू होता है, और जोड़ता है / 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
तो बस अपनी परियोजनाओं निर्देशिका के अंदर एक नोड_मॉडल फ़ोल्डर रखो और जो भी मॉड्यूल आप चाहते हैं उसमें डालें। बस उन्हें सामान्य की तरह की आवश्यकता होती है। जब नोड को आपके प्रोजेक्ट फ़ोल्डर में एक नोड_मॉड्यूल निर्देशिका नहीं मिलती है, तो यह मूल फ़ोल्डर को स्वचालित रूप से जांच करेगा। तो अपनी निर्देशिका संरचना को इस तरह बनाएं:
-myProjects
--node_modules
--myproject1
---sub-project
--myproject2
तो इस तरह, यहां तक कि आपके उप-प्रोजेक्ट की निर्भरताएं आपके मुख्य नोड_मॉड्यूल रिपॉजिटरी पर आकर्षित कर सकती हैं।
इसे इस तरह से करने में एक खामी यह है कि आपको अपना पैकेज तैयार करना होगा। जसन फ़ाइल को मैन्युअल रूप से बनाना होगा (जब तक कि कोई इसे ग्रन्ट या कुछ के साथ स्वचालित करने का तरीका नहीं जानता है)। जब आप अपने पैकेजों को स्थापित करते हैं और - save arg को एक npm install
कमांड में जोड़ते हैं, तो यह स्वचालित रूप से इसे निर्भरता अनुभाग या आपके पैकेज में जोड़ देता है। जो कि सुविधाजनक है।
require
चलाएगा। अन्यथा, नहीं,node_modules
उपयोग के लिए एक आधिकारिक "केंद्रीय" फ़ोल्डर नहीं हैrequire()
।