क्या मैं प्रकाशित होने पर अपने Node.js npm पैकेज की मूल निर्देशिका को बदलना संभव है? क्या मैं निम्नलिखित है:एनपीएम पर रूट निर्देशिका बदलें
├── lib
├── package.json
├── .npmignore
├── src
│ ├── index.js
│ └── sub
│ └── mymodule.js
└── test
/src
मेरे ES2015 स्रोत कोड के सभी है। मैं Babel के साथ /lib
निर्देशिका में ट्रांसफर करता हूं। main
मेरे package.json
अंक lib/index.js
में। इसके बाद मैं npm publish
(मेरा .npmignore
src
पर सेट कर सकता हूं, इसलिए केवल lib
प्रकाशित किया जाएगा)। अब मेरा पैकेज npmjs.com पर तैनात है और दूसरे पैकेज में मैं इसे import index from 'mypackage'
के साथ आयात कर सकता हूं।
अभी तक इतना अच्छा है। लेकिन अगर मैं सीधे sub/mymodule.js
आयात करना चाहता हूं तो क्या होगा? मुझे import mymodule from 'mypackage/lib/sub/mymodule'
लिखना है। मैं वास्तव में क्या चाहता हूं import mymodule from 'mypackage/sub/mymodule'
बिना /lib/
मेरे पथ में।
मैं इसे कैसे प्राप्त कर सकता हूं? एनपीएम दस्तावेज ने directories.lib का उल्लेख किया है कि मैं package.json
में सेट कर सकता हूं लेकिन ऐसा लगता है कि इसे पूरी तरह अनदेखा कर दिया जाएगा। मैंने इसे ./lib
पर सेट किया लेकिन यह कुछ भी नहीं करता है।
हां, धन्यवाद, लेकिन इसके लिए यह बहुत बदसूरत और त्रुटि-प्रवण कार्यवाही है क्योंकि आपको उस निर्देशिका से 'lib' में सीडी करना है और 'npm प्रकाशित करना' है। कल्पना कीजिए कि आप उस चरण को भूल गए हैं जो आपकी परियोजना की मूल निर्देशिका से गलती से 'एनपीएम प्रकाशित' करता है। आप एक पुस्तकालय में खत्म हो जाते हैं जो अब काम नहीं करता है। – LongFlick
मैं आज इस टिप्पणी में आया और यह पता लगाया कि आप 'package.json' में 'निजी: सत्य' सेट कर सकते हैं, जो सभी प्रकाशित प्रयासों को रोकता है। फिर अपनी '/ lib' निर्देशिका में,' package.json' की प्रतिलिपि करते समय 'निजी: सत्य' को grep करना सुनिश्चित करें, यह आपको केवल आपकी तैयार निर्देशिका में प्रकाशित करने के लिए सीमित करता है। – Javran