निम्नलिखित निर्देशिका संरचना को देखते हुए विकासशील से बचने के लिए कैसे:Webpack के साथ दो बार लोड हो रहा है प्रतिक्रिया जब
my-project
|
|-- node_modules
|
|-- react
|-- module-x
|
|--node_modules
|
|--react
आप देख सकते हैं दोनों मेरी परियोजना और मॉड्यूल-x प्रतिक्रिया की आवश्यकता है। this question पर वर्णित एक ही समस्या है, लेकिन सुझाव है कि पैकेज.जेसन निर्भरताओं से प्रतिक्रिया को हटाना है। मैं ऐसा करता हूं और यह ठीक काम करता है, जब तक मॉड्यूल-एक्स में कोई नोड_मोड्यूल स्थापित नहीं किया जाता है, क्योंकि वेबपैक मेरा प्रोजेक्ट से प्रतिक्रिया का उपयोग करेगा। लेकिन अगर मैं मॉड्यूल-एक्स और node_modules स्थापित करने की प्रक्रिया में हूं, तो वेबपैक मेरी परियोजना और मॉड्यूल-एक्स दोनों से प्रतिक्रिया का उपयोग करता है।
क्या कोई तरीका है कि वेबपैक सुनिश्चित कर सकता है कि प्रतिक्रिया का केवल एक उदाहरण उपयोग किया जाता है, भले ही यह दो अलग-अलग स्तरों पर आवश्यक हो?
मुझे लगता है मैं एक अलग निर्देशिका जब विकसित करने में रख सकता है मॉड्यूल-x पता है, लेकिन ऐसा लगता है जैसे मैं इसे प्रकाशित और फिर इसे परीक्षण करने के लिए में इसे स्थापित मेरी परियोजना करना होगा और वह बहुत ही नहीं है कुशल। मैंने npm link
के बारे में सोचा, लेकिन इसके साथ कोई भाग्य नहीं था क्योंकि इसमें अभी भी मॉड्यूल-एक्स में स्थापित node_modules है।
This here मेरे पास एक ही चुनौती की तरह लगता है, लेकिन यह npm dedupe
जैसा नहीं लगता है या वेबपैक का dedupe विकल्प काम करेगा। मैं शायद कुछ महत्वपूर्ण विस्तार को समझ नहीं रहा हूं।
मैंने इस मुद्दे पर आधा दिन बिताया है। दुर्भाग्यवश, न तो ब्राउज़र में त्रुटि संदेश और न ही वेबपैक दस्तावेज़ बहुत उपयोगी हैं। आपने मेरा दिन बचा लिया है! धन्यवाद!! –
यह एक उत्कृष्ट समाधान है जो आपको बहुत धन्यवाद - इसका मतलब है कि मैं अपने बालों को फाड़ने के बिना एनपीएम लिंक का उपयोग कर सकता हूं :-) –
वाह 'एनपीएम लिंक' का उपयोग करते समय इस तरह की अजीब चेतावनी, धन्यवाद। – Oscar