एनपीएम पर एक लाइब्रेरी प्रकाशित करने के लिए, आपको इसकी आवश्यकता होगी:
ए एनपीएम खाता; आप यहां साइनइन कर सकते हो।
प्रोजेक्ट के रूप में आपका कोड; यानी, आपकी कोड निर्देशिका में एक package.json है, जिसमें नाम और संस्करण निर्दिष्ट है। ध्यान दें कि आप इस फ़ाइल को इसके माध्यम से जनरेट कर सकते हैं:
npm init
नोट: यदि आपकी स्क्रिप्ट का नाम Index.js नहीं है और उसे प्रोजेक्ट रूट में रखा गया है, तो आपको package.json में "मुख्य" प्रॉपर्टी निर्दिष्ट करनी होगी। अधिक जानकारी के लिए यह उत्तर देखें।
और यदि नाम एनपीएम पर लिया गया है, तो आप @name-or-org/your-lib जैसे उपसर्ग जोड़ सकते हैं; आजकल अधिकांश अन्य पुस्तकालय यही करते हैं।
आप संदर्भ के लिए मेरा न्यूनतम उदाहरण देख सकते हैं, लेकिन मेरा मानना है कि आप इससे बेहतर कुछ लिख सकते हैं।
अंत में, इसे सीएलआई कमांड के साथ प्रकाशित करें:
npm publish
पैकेज नाम को उपसर्ग के साथ सेट करने वाले लोगों के लिए ध्यान दें: यह जरूर आपका एनपीएम उपयोगकर्ता नाम या संगठन का नाम होना चाहिए जिसे आपने एनपीएम पर पंजीकृत किया है। उदाहरण के लिए, मैं अपने उपसर्ग के रूप में @remi_guan का उपयोग कर सकता हूं, लेकिन अन्य का नहीं।
इसके अलावा, आपको npm पब्लिश --एक्सेस पब्लिक चलाने की आवश्यकता है, क्योंकि npm को लगता है कि आप एक निजी पैकेज प्रकाशित करना चाहते हैं, जो एक सशुल्क सुविधा है।
इस आउटपुट का मतलब है कि यह सफल रहा है। हालाँकि, यदि आप किसी परेशानी में पड़ गए हैं, तो आप समस्या निवारण के लिए Google पर खोज सकते हैं। और यहां बताया गया है कि आप अपनी लाइब्रेरी का उपयोग कैसे कर सकते हैं:
यदि आप इस गाइड का अनुसरण कर रहे हैं, तो कृपया इसके बजाय अपनी स्वयं की लाइब्रेरी आज़माएं।
अगर आप और अधिक जानना चाहते हैं तो मुझे @backendbro के पास इससे कहीं अधिक विस्तृत मार्गदर्शिका भी मिली है।
अपना कोड प्रकाशित करने के बाद, जब आप कोड को अपडेट करना चाहें, तो एनपीएम पब्लिश दोबारा चला सकते हैं। हालाँकि, प्रकाशित करने से पहले आपको package.json की संस्करण संपत्ति को अपडेट करना चाहिए, और कृपया सिमेंटिक वर्जनिंग का अनुपालन करना चाहिए।
मेरा सुझाव है कि आप इसे आज़माएँ! क्या आप अपनी लाइब्रेरी का v1.0.1 या v1.1.0 प्रकाशित कर सकते हैं, और इसे किसी अन्य प्रोजेक्ट में उपयोग कर सकते हैं जैसे मैंने अभी किया है? क्या आप समझ सकते हैं कि अपनी एनपीएम लाइब्रेरी के संस्करण को कैसे अपडेट करें?
हमारे द्वारा अब तक बनाई गई यह लाइब्रेरी आधुनिक नहीं है, इसमें प्रकार की घोषणा का अभाव है, इसलिए जो लोग आपकी लाइब्रेरी का उपयोग करते हैं वे टाइपिंग के साथ हाइलाइट नहीं हो पाते हैं। इसके अलावा, लोग आमतौर पर ईसीएमएस्क्रिप्ट सिंटैक्स के साथ टाइपस्क्रिप्ट का उपयोग करते हैं। अंतर के बारे में जानने के लिए: नोड.जेएस मॉड्यूल: कॉमनजेएस बनाम ईसीएमएस्क्रिप्ट साईसथिश द्वारा
लेकिन मैं इस पोस्ट में टाइपस्क्रिप्ट के विस्तृत सेटअप को छोड़ दूंगा। टाइपस्क्रिप्ट प्रोजेक्ट को प्रारंभ करने का तरीका सीखने के लिए कई अच्छे ट्यूटोरियल हैं, जैसे कि inapeace0 द्वारा "टाइपस्क्रिप्ट लाइब्रेरी कैसे विकसित करें"।
इसके अलावा, आप एलेक्सजोवरम/टाइपस्क्रिप्ट-लाइब्रेरी-स्टार्टर जैसे टेम्पलेट टाइपस्क्रिप्ट रिपॉजिटरी का उपयोग कर सकते हैं, जिसमें पहले से ही कई आधुनिक उपकरण, सर्वोत्तम अभ्यास आदि एकीकृत हैं।
यदि आप टाइपस्क्रिप्ट लाइब्रेरी प्रकाशित कर रहे हैं तो मैं बस कुछ महत्वपूर्ण नोट्स का उल्लेख करने जा रहा हूं:
आपको package.json में मॉड्यूल, मुख्य, या प्रविष्टि गुणों का उपयोग करके संकलित फ़ाइल को सही ढंग से इंगित करने की आवश्यकता है। टेम्पलेट का उपयोग करना और उन्हें एक-एक करके सीखना एक अच्छा विकल्प है। फिर से, alexjoverm/typescript-library-starter ने उन्हें अच्छी तरह निर्दिष्ट किया।
लेकिन अगर आप आश्वस्त हैं कि आपकी लाइब्रेरी डेनो, बन, या टीएस-नोड पर चलेगी, तो आप मेरे उपरोक्त दिशानिर्देशों को अनदेखा कर सकते हैं क्योंकि वे टाइपस्क्रिप्ट कोड को मूल रूप से चलाने का समर्थन करते हैं।
कृपया टाइपस्क्रिप्ट लाइब्रेरी बनाने और इसे एनपीएम पर प्रकाशित करने के लिए एक गाइड का पालन करने का प्रयास करें। यह अभी भी आसान है, पहले उदाहरण की तरह। आपको आयात सिंटैक्स का उपयोग करके किसी अन्य प्रोजेक्ट के साथ इसका परीक्षण करना चाहिए, और आप एक आईडीई के साथ प्रकार के संकेत देख सकते हैं।
टाइपस्क्रिप्ट के साथ, मैं अपनी लाइब्रेरी को इस सिंटैक्स में लिख सकता हूं:
और प्रकाशन के बाद, मैं इसे इंस्टॉल और आयात कर सकता हूं, और टाइपस्क्रिप्ट के लिए प्रकार के संकेत देख सकता हूं।
एक सामान्य लेकिन थोड़ी उन्नत समस्या हल होने की प्रतीक्षा में है: हर बार जब हम अपना पैकेज अपडेट करते हैं, तो हमें संस्करण कोड को संपादित करने की आवश्यकता होती है।
यह कष्टप्रद है, खासकर यदि आप अपना कोड बार-बार अपडेट कर रहे हैं।
हालाँकि, आपकी सहायता के लिए उपकरण मौजूद हैं।
मैंने दो टूल की तुलना करते हुए इस सारांश को तैयार करने के लिए ChatGPT का उपयोग किया। नए कोडर के लिए, मेरा सुझाव है कि आप रिलीज़-इट आज़माएँ, लेकिन सिमेंटिक-रिलीज़ भी सुविधाजनक है यदि आप जानते हैं कि इसे सीआई के साथ कैसे एकीकृत किया जाए।
इस पोस्ट में मैं आपको यह दिखाने जा रहा हूं कि रिलीज़-इट का उपयोग कैसे करें, ठीक है, प्रोजेक्ट में बदलाव करने के बाद, बस इसे अपने प्रोजेक्ट में चलाएं:
npx release-it
और चुनें कि यह छोटा बदलाव है या बड़ा बदलाव, तो आपका काम हो गया!
इसलिए यह अब आपके पास है! हमने एक सरल एनपीएम लाइब्रेरी प्रकाशित की है, इसे अपडेट किया है, और यहां तक कि इसे और अधिक आधुनिक और मजबूत बनाने के लिए टाइपस्क्रिप्ट का उपयोग भी किया है। याद रखें:
इसे आज़माइए! अपनी खुद की लाइब्रेरी प्रकाशित करें, उसे अपडेट करें और देखें कि एनपीएम पारिस्थितिकी तंत्र में योगदान करना कैसा लगता है। हैप्पी कोडिंग!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3