मैं के बाहर अपने स्रोत पेड़ को छोड़कर अपने स्रोत पेड़ को रखना पसंद करता हूं।विकास में उत्पादन स्रोत के बाहर नोड_मोड्यूल रखें (उत्पादन नहीं)
एनपीएम और गड़बड़ करना मुश्किल है: एनपीएम स्थानीय नोड_मोड्यूल को स्थानांतरित करने की अनुमति नहीं देगा, इसलिए मुझे --global
और --prefix
का उपयोग करना होगा। लेकिन जाहिर है, इस तरह की एक योजना का समर्थन नहीं करता है।
उपर्युक्त बाधाओं को देखते हुए मैं अपना उद्देश्य कैसे प्राप्त कर सकता हूं?
तो, मैं एक परियोजना है, तो:
foo/
.git/
src/
gruntfile.js
package.json
मैं अपने पेड़ में बिना किसी अतिरिक्त फ़ाइलें चाहते हैं, विशेष रूप से, node_modules
। (bower_components
और build
आदि लेकिन यह लगभग npm है।) यह निर्देशिका बनी रहती है जबकि मैं इस पर काम कर रहा हूं और इसे चला रहा हूं। बस इतना ही।
जाहिर npm link
यह करने के लिए माना जाता है, लेकिन जब मैं करने की कोशिश की यह अभी भी ./node_modules
में सभी निर्भरता स्थापित। कोई अन्य आमंत्रण मैं नहीं समझ सकता; दस्तावेज़ स्पष्ट नहीं हैं।
एक संबंधित सुझाव था कि मेरी gruntfile या package.json पर सिम्लिंक के साथ एक और निर्देशिका का उपयोग करना था, लेकिन चिल्लाओ सिमलिंक को हल किया और मेरी मूल निर्देशिका में काम करना जारी रखा!
अब तक का सबसे नज़दीकी मैं आया हूं उदा। मेरी परियोजना से ~/.cache/foo/node_modules
। यद्यपि यह मेरे पेड़ से बाहर निकलने के लिए प्राप्त करता है, फिर भी मेरे पास यह लिंक मेरे कार्यक्षेत्र को छेड़छाड़ कर रहा है।
मैं जानना चाहता हूं कि कोई बेहतर तरीका है या नहीं। npm install
, npm link
, ln
, ~/.cache
, NODE_PATH
और PWD
के कुछ संयोजन मुझे मेरे स्रोत पेड़ से, मेरे स्रोत पेड़ से चलाने और सभी गैर-स्रोत कलाकृतियों को साफ रखने की अनुमति देंगे?
यह बहुत असामान्य होगा; आमतौर पर आपके gruntfile (और अक्सर आपके नोड मॉड्यूल) स्रोत पेड़ में होगा, विभिन्न वातावरण से काम करने के लिए और अधिक संगत। –
मैं यह देखने के लिए आ रहा हूं कि यह असामान्य है, लेकिन मुझे समझ में परेशानी हो रही है क्यों। मैं निर्भरता को बंडल करने के नोड मार्ग के फायदे समझ सकता हूं, लेकिन यह देखने में असफल रहा कि क्यों तैनाती योजना को मेरे विकास पर्यावरण में ले जाना चाहिए। – avdd
कारण यह है कि यह सुनिश्चित करता है कि आपके उपयोगकर्ता/डेवलपर अभी भी सॉफ़्टवेयर का उपयोग या निर्माण कर सकते हैं, भले ही कोई नोड मॉड्यूल दूर हो या आवश्यक कार्यक्षमता को तोड़ दे। –