2017-08-05 16 views
5

मेरे NodeJS परियोजना कुछ पुस्तकालयों का उपयोग करता है के द्वारा स्थापित किए जाने से एक निर्भरता की निर्भरता पर ध्यान न दें। एक पुस्तकालय pouchdb काफी निर्भरताओं को स्थापित करने का प्रयास करेगा। leveldown नामक एक है, जो इंटरनेट से Node.js शीर्षलेख डाउनलोड करने का प्रयास करेगा और फिर स्क्रैच से सब कुछ पुनर्निर्माण करेगा। असल में मुझे leveldown की आवश्यकता नहीं है। लेकिन उनका समुदाय मुझे pouchdb को निजी रूप से फोर्क करने का सुझाव देता है और मुझे किसी भी निर्भरता को बाहर करने के लिए package.json को संशोधित करने की आवश्यकता नहीं है।फोर्स NPM/यार्न

यहाँ NPM/यार्न लोगों के लिए अपने सामान्य सवाल है। यह डाउनलोड होने से विशेष रूप से पुस्तकालय को रोकने के लिए संभव है, जबकि npm install या yarn install चल रहा है?

उत्तर

3

नहीं, यह संभव नहीं स्थापना से एक उप-निर्भरता से बाहर करने के।


हालांकि, अपने मामले में, आप निजी तौर पर कांटा pouchdb की जरूरत नहीं है। पाउचडीबी के पास एनपीएम पैकेज के रूप में प्रकाशित कस्टम बिल्ड हैं: https://pouchdb.com/custom.html

आप इन-ब्राउज़र, npm install pouchdb-browser उपयोग के लिए pouchdb स्थापित करना चाहते हैं।

यदि आप अन्य स्टोरेज एडेप्टर (इन-मेमोरी एडाप्टर की तरह) का उपयोग कर रहे हैं, तो आप इसके बजाय npm install pouchdb-core चाह सकते हैं। ध्यान दें कि pouchdb-core में कुछ फ़ंक्शन शामिल नहीं हैं जो pouchdb के साथ शिप करते हैं।

  • आप query() या viewCleanup() उपयोग करने की आवश्यकता है, तो आप pouchdb-mapreduce स्थापित करने और एक प्लगइन के रूप में इसे पारित करने की जरूरत है।
  • आप replicate() और sync() उपयोग करने की आवश्यकता है, तो आप pouchdb-replication स्थापित करने और एक प्लगइन के रूप में इसे पारित करने की जरूरत है।

उदाहरण उपयोग:

const PouchDB = require('pouchdb-core') 
    .plugin(require(WHATEVER_STORAGE_ADAPTER_YOU_ARE_USING)) 
    .plugin(require('pouchdb-mapreduce')) 
    .plugin(require('pouchdb-replication')); 
+0

धन्यवाद। यह एक उचित समाधान है। कष्टप्रद चीज वास्तव में बिल्कुल 'स्तरीय डाउन' नहीं है लेकिन 'नोड-जीईपी' है, यह हेडर फाइलें या वर्तमान नोडजेज़ डाउनलोड करने का प्रयास करती है और फिर स्क्रैच से सब कुछ पुनर्निर्माण करती है। लेकिन कॉरपोरेट प्रॉक्सी के पीछे, इंटरनेट से सामान डाउनलोड करने में कुछ कठिनाइयां होंगी, खासकर जब मैं आसानी से नोडज को अपग्रेड करता हूं (जिसका मतलब है कि फिर से संबंधित हेडर डाउनलोड करने की आवश्यकता है) – stanleyxu2005

संबंधित मुद्दे