MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मॉड्यूल नहीं मिला:त्रुटि:वेबपैक के साथ बंडल करते समय मॉड्यूल 'मॉड्यूल' मोंगोडब को हल नहीं कर सकता

जब वेबपैक आपके मॉड्यूल को बंडल करता है तो यह उस मॉड्यूल की निर्भरता श्रृंखला का अनुसरण करता है जिसे आपने आयात किया है (या आवश्यक है) और इसकी सभी निर्भरताओं को खींचता है और उन्हें श्रृंखला के अंत तक सभी तरह से बंडल करता है।

अगर ऐसी कोई फ़ाइल है जो यह नहीं जानती कि उस निर्भरता श्रृंखला में कैसे लोड किया जाए तो इस प्रकार की त्रुटि को फेंक दिया जाएगा।

इसे कभी-कभी एक लोडर जोड़कर हल किया जा सकता है जो जानता है कि इस प्रकार की निर्भरता को कैसे लोड किया जाए। यदि, हालांकि, निर्भरता एक गैर-देशी मॉड्यूल है तो वेबपैक इसे लोड नहीं कर सकता है। कुछ लोडर जानते हैं कि गैर-देशी निर्भरता वाले मॉड्यूल को कैसे लोड किया जाए और गैर-देशी भाग को हटा दिया जाए ताकि यह लोड हो जाए। fs . में मॉड्यूल उदाहरण के लिए आपको डिस्क से फ़ाइलों को पढ़ने और लिखने में सक्षम होने की आवश्यकता नहीं है क्योंकि ब्राउज़र ऐसा नहीं कर सकता है इसलिए उस हिस्से को शामिल करने की कोई आवश्यकता नहीं है।

यह सवाल उठाता है:ब्राउज़र में आपको नेवला मॉड्यूल से किस कार्यक्षमता की आवश्यकता है? क्या आप केवल उस कार्यक्षमता को शामिल कर सकते हैं न कि संपूर्ण नेवला मॉड्यूल को?

यदि आप ऐसा करने में सक्षम हैं तो आप 2 समस्याओं को हल करने में सक्षम हो सकते हैं:

  1. आप वेबपैक बंडलिंग समस्या का समाधान कर सकते हैं क्योंकि नेवले के जिस हिस्से को आप अपने प्रोजेक्ट में शामिल कर रहे हैं, उसमें समस्यात्मक उप-निर्भरताएं नहीं हैं।
  2. आप वेबपैक के साथ एक छोटा बंडल बना रहे होंगे क्योंकि आप केवल उन हिस्सों को शामिल करेंगे जिनकी आपको आवश्यकता है ताकि क्लाइंट के लिए बंडल.जेएस पेलोड बहुत छोटा हो।

उदाहरण के तौर पर, मुझे हाल ही में क्लाइंट में मोंगोडब ऑब्जेक्ट आईडी जेनरेटर का उपयोग करने की आवश्यकता है। मैंने पाया कि वेबपैक import mongodb from 'mongodb' घटक इसलिए निर्भरता में खुदाई करते हुए मैंने पाया कि mongodb mongodb-core पर निर्भर करता है जो bson . पर निर्भर करता है जिसमें ObjectId . है मुझे जिस विधि की आवश्यकता थी।

केवल bson . आयात करके उस निर्भरता श्रृंखला का घटक मैंने वेबपैक समस्या के आसपास पाया और अपने बंडल को बहुत छोटा बना दिया।

यदि आप Npm 3 का उपयोग कर रहे हैं तो एक अच्छा मौका है कि bson node_modules . की जड़ में स्थापित है यदि आप पहले से ही नेवले या मोंगोडब का उपयोग कर रहे हैं तो आप import . कर सकते हैं यह आपके package.json . में इसका स्पष्ट संदर्भ दिए बिना . यह स्पष्ट रूप से जोखिम उठाता है कि यदि इसके आधार पर ऊपरी निर्भरता बंद हो जाती है तो आपका निर्माण टूट जाएगा और आपको npm install की आवश्यकता होगी यह स्वतंत्र रूप से। इस दृष्टिकोण का उपयोग करने का लाभ यह है कि आप हमेशा bson . के एक ही संस्करण का उपयोग करेंगे कि ऊपरी निर्भरता उपयोग कर रही है जो महत्वपूर्ण हो सकती है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्वेरी पैरामीटर काम नहीं कर रहे हैं के रूप में नेवला GeoJSON बिंदुओं के साथ geoNear को कॉल करता है

  2. हम जावा ड्राइवर के माध्यम से एम्बेडेड दस्तावेज़ों के लिए क्वेरी कैसे दे सकते हैं?

  3. MongoDB अंतहीन खोजें ToListAsync

  4. MongoDB से कनेक्ट करने के लिए स्प्रिंग का उपयोग कैसे करें जिसके लिए प्रमाणीकरण की आवश्यकता है

  5. मोंगोडब जावा - प्रतिबंधित फ़ील्ड को खोजने () या findOne () के साथ कैसे वापस करें