सवाल एनपीएम के माध्यम से स्थापित एक नोड मॉड्यूल को कैसे संपादित करें?


मैं node_swiz मॉड्यूल का उपयोग कर रहा हूं, जो बदले में सत्यापनकर्ता मॉड्यूल का उपयोग करता है।

मैं सत्यापनकर्ता मॉड्यूल में परिवर्तन करना चाहता हूं, लेकिन मैंने मॉड्यूल / निर्भरताओं को स्थापित करने के लिए npm इंस्टॉल किया था।

क्या मैं सिर्फ node_modules के अंदर सत्यापनकर्ता मॉड्यूल में परिवर्तन कर सकता हूं, या क्या वह node_modules निर्भरताओं को फिर से बनाया जाएगा और जब मैं उसकेोकू को प्रकाशित करता हूं या अगली बार जब मैं npm इंस्टॉल करता हूं तो नवीनतम संस्करण प्राप्त होता है?

संरचना इस तरह दिखती है:

myNodeApplication
  - node_modules
     - swiz
         - node_modules
            - validator [this is the library I want to edit]

सहायता के लिए धन्यवाद!


44
2017-11-09 00:08


मूल




जवाब:


आप फ़ाइल को सीधे संपादित कर सकते हैं, लेकिन जब भी एनपीएम अपडेट्स को ओवरराइट किया जाएगा, तो सबसे अच्छी बात यह है कि सीधे स्रोत पर जाएं।

यदि परिवर्तन समग्र मॉड्यूल की कार्यक्षमता को प्रभावित करते हैं, और दूसरों के लिए उपयोगी हो सकते हैं, तो आप github पर मूल स्रोत में योगदान देना चाहते हैं और परिवर्तन को लागू करने के लिए देख सकते हैं।

यदि यह आवश्यक स्वामित्व वाली कार्यक्षमता है, और मॉड्यूल के विकास में मदद नहीं करेगा, तो सबसे अच्छी बात यह है कि इसे गिटूब से फोर्क करें और अपने बदलाव करें। आप एनपीएम का उपयोग करके सीधे जीथब से आइटम इंस्टॉल कर सकते हैं, और यह विधि आपको मूल स्रोत से अपने कस्टम संस्करण में भविष्य में बदलावों को एकीकृत करने देगी।

सीधे github से स्थापित करने के लिए, निम्न आदेश का उपयोग करें:

npm install https://github.com/<username>/<repository>/tarball/master


115
2017-11-09 04:24



धन्यवाद! यही वही है जो मैं जानना चाहता था। इसके अलावा, दूसरों को यह पढ़ने के लिए ... मैं संकुल.जेसन फ़ाइल में अपने github पर मौजूद मॉड्यूल को शामिल करना चाहता था, और यहां इसके बारे में जानकारी है: stackoverflow.com/a/8306715/1810875 - user1810875
फोर्किंग से पहले मैं इसे स्थानीय सिस्टम में बदल रहा हूं, लेकिन परिवर्तन प्रभावित नहीं होता है। किसी भी जावास्क्रिप्ट फ़ाइल को बदलना जो node_modules / package_name / lib / file_name.js को प्रभावित करता है? - inquisitive
बस एक नोट, सुनिश्चित नहीं है कि कुछ बदल गया है लेकिन व्यक्तिगत रूप से मुझे गिट यूआरएल को गिट के रूप में निर्दिष्ट करना था: //github.com/ <user> / <package> .git " - Craig
@JohnDevor अनुकूलित मॉड्यूल को स्थापित करने के बजाय, अपने फ़ोल्डर में सिम-लिंक बनाने के लिए "एनपीएम लिंक" कमांड का उपयोग करें: docs.npmjs.com/cli/link - Venryx
इसे समझ लिया, मुझे फ़ोल्डर में नेविगेट करना पड़ा /node_modules और भाग खड़ा हुआ npm install तो सब ठीक है! - Adam Moisa