हालिया node docs कहते हैं कि require.paths
संशोधित करना बुरा अभ्यास है। इसके बजाय मुझे क्या करना चाहिए?नोडजेस - आवश्यकताएँ के बजाय क्या उपयोग करें?
उत्तर
मुझे विश्वास है कि चिंता यह है कि इसे सेट के बजाए रन टाइम पर बार-बार संशोधित किया जा सकता है। यह स्पष्ट रूप से भ्रमित हो सकता है और कुछ विचित्र बग का कारण बन सकता है। इसके अलावा, यदि व्यक्तिगत संकुल पथ को संशोधित करते हैं तो परिणाम विश्व स्तर पर लागू होते हैं, जो वास्तव में खराब होता है और नोड की मॉड्यूलर प्रकृति के खिलाफ जाता है।
यदि आपके पास अपने स्वयं के कई लाइब्रेरी पथ हैं, तो सबसे अच्छा समाधान नोड लॉन्च करने से पहले NODE_PATH पर्यावरण चर सेट करना है। नोड तब लॉन्च होने पर इसे उठाता है और इसे स्वचालित रूप से लागू करता है।
मैं एक उप निर्देशिका और लोड का उपयोग कर एक ही निर्देशिका में संबंधित मॉडल रखने या:
var x = require('./mod/x');
मामले में यह एक बाहरी मॉड्यूल है, मैं यह NPM कि NODE_PATH में सही ढंग से मॉड्यूल डालता है का उपयोग कर स्थापित करें।
मैंने कभी भी आवश्यकतानुसार परिवर्तन नहीं किया है।
मेरे उपयोग के मामले में, मैं स्थानीय 'deps /' फ़ोल्डर में निर्भरताओं के विशिष्ट (संभावित रूप से पैच किए गए) संस्करणों की स्थानीय प्रतियां रखना चाहता हूं। शायद NODE_PATH में संशोधन करने का यह सही तरीका होगा, लेकिन इसका मतलब है कि एक लॉन्चर स्क्रिप्ट लिखना ... – nornagon
क्या आपको var x = requ ('../ deps/c') जैसे सापेक्ष पथ का उपयोग करके मॉड्यूल की आवश्यकता नहीं हो सकती है; ? मैंने कभी ऐसा नहीं किया लेकिन कहीं देखा। – Carlosedp
@ नोर्नगोन मुझे पता है कि यह पुराना है, लेकिन मुझे सबसे अच्छा समाधान मिला है कि 'डीओडी /' निर्देशिका में प्रत्येक मॉड्यूल को इंगित करने वाले 'node_modules' में सिम्लिंक जोड़ने के लिए सबसे अच्छा समाधान है। फिर आप उन्हें संदर्भित कर सकते हैं जैसे कि वे सामान्य मॉड्यूल थे। आपके द्वारा जोड़े गए प्रत्येक 'node_modules' symlink के लिए अपना' .gitignore' अपडेट करना सुनिश्चित करें ताकि symlinks को स्रोत नियंत्रण में चेक किया जा सके। यह हैकी है, लेकिन यह काम करता है। – vaughan
https://github.com/patrick-steele-idem/app-module-path-node पर एक नज़र डालें; आप उप-मॉड्यूल के पथ को प्रभावित किए बिना कथन शीर्ष स्तर में एक निर्देशिका जोड़ सकते हैं।
मैं थोड़ी देर के लिए इस मॉड्यूल का उपयोग कर रहा हूं। यह वास्तव में अच्छी तरह से काम करता है। – vaughan
यदि आपको केवल एक त्वरित हैक करने की आवश्यकता है, तो आप बस किसी अन्य फ़ंक्शन में मॉड्यूल._nodeModulePaths को जरूरी कर सकते हैं। याद रखें कि इस तरीके से मॉड्यूल पथ को बदलना अभी भी खराब अभ्यास है। –
- 1. क्या नोडजेस
- 2. पॉलिमॉर्फिक एसोसिएशन के बजाय क्या उपयोग करें?
- 3. नोडजेस
- 4. नोडजेस
- 5. नोडजेस एसिंक का उपयोग करें और मॉड्यूल
- 6. आवश्यकताएँ .js
- 7. नोडजेस
- 8. नोडजेस
- 9. नोडजेस
- 10. नोडजेस
- 11. org.jboss.resteasy.client.ClientRequest के बजाय उपयोग करने के लिए क्या करें?
- 12. नोडजेस कहां से शुरू करें?
- 13. हर बार सर्वर को पुनरारंभ करने के बजाय नोडजेस पिकअप परिवर्तन कैसे करें?
- 14. सॉफ़्टवेयर आवश्यकताएँ विश्लेषण
- 15. नोडजेस कनेक्ट
- 16. आवश्यकताएँ का उपयोग कब करें और बंडल जावास्क्रिप्ट का उपयोग कब करें?
- 17. आवश्यकताएँ डेटा-मुख्य बेसयूआरएल
- 18. प्रॉक्सी नोडजेस
- 19. नोडजेस के साथ मोंगोडीबी क्वेरी परिणाम कैसे स्ट्रीम करें?
- 20. नोडजेस (उबंटू)
- 21. फायरबेस के साथ नोडजेस का उपयोग करना - सुरक्षा
- 22. आवश्यकताएँ जेएस और डेटा-मुख्य
- 23. नोडजेस में समरूपता के मॉडल
- 24. एपीटी-गेट के लिए आवश्यकताएँ फ़ाइल, पीआईपी
- 25. कार्यात्मक विनिर्देश बनाम आवश्यकताएँ दस्तावेज़
- 26. उपयोग: के बजाय tjump: Ctrl-]
- 27. .NET 4.0 फ्रेमवर्क अपग्रेड आवश्यकताएँ?
- 28. नोडजेस + पासपोर्ट.जेएस + रेडिस: रेडिस
- 29. एचटीएमएल विशेषता bgcolor बहिष्कृत है: इसके बजाय क्या उपयोग करें?
- 30. सूची विभाजन नोडजेस
जिसके लिए एक अतिरिक्त बाहरी स्क्रिप्ट की आवश्यकता होगी जो सिर्फ ऐप को चलाने के लिए आवश्यक है। –
बस अगर किसी ने अभी भी इस जवाब में ठोकर खाई है, तो मामला अब थोड़ा अकादमिक है कि कैसे सैंडबॉक्स वाले विकास के लिए नोड और एनपीएम विकसित हुआ है। – leebriggs
@leebriggs क्या आप अपनी आखिरी टिप्पणी कृपया थोड़ा सा समझा सकते हैं? –