2015-05-26 8 views
6

मैं अपना पहला एम्बर एडऑन बनाने की कोशिश कर रहा हूं और मैं इसे एम्बर प्रोजेक्ट में आयात करने में फंस रहा हूं। मैं ऐड-ऑन बना लिया है और प्रकाशित इस तरह GitHub के लिए:आप एक नव निर्मित एम्बर एडन कैसे आयात करते हैं?

ember-cli$ ember addon test-addon 
ember-cli$ cd test-addon 
ember-cli/test-addon$ git remote add origin <github-url> 

फिर, अपने प्रोजेक्ट से, मैं एडऑन इंस्टॉल:

test-app$ ember install <github-url> 

और, अंत में, एक मार्ग में आयात करने का प्रयास करें:

# app/rotues/index.coffee 
import TestAddon from 'test-addon' 

लेकिन, मुझे कंसोल पर इस त्रुटि हो रही है:

Uncaught Error: Could not find module `test-addon` imported from `test-app/routes/index` 

कोई भी विचार जहां मैं गलत जा रहा हूं? मैं node_modules निर्देशिका में एडन देख सकता हूं लेकिन bower_components में नहीं। मुझे लगता है (टीएम) यह मेरा मुद्दा है लेकिन मुझे यकीन नहीं है कि मुझे अपने एडन को सेट करने के लिए और क्या करना है।

+3

यदि आप एनपीएम को प्रकाशित नहीं कर रहे हैं, तो आपको अपने एंबॉन प्रोजेक्ट – MilkyWayJoe

+0

पर अपने एडन को [link] (https://docs.npmjs.com/cli/link) करना होगा धन्यवाद @ मिल्कीवेज जो मुझे नहीं लगता कि यह है मुसीबत। मैं गिटूब पर एक निजी रेपो में एडन प्रकाशित कर रहा हूं, फिर इसे टेस्ट-एप में इंस्टॉल कर रहा हूं (मैंने अपने प्रश्न में इंस्टॉल चरण जोड़ा है)। मैंने सुझाव दिया है कि मैंने एनपीएम लिंक भी कोशिश की है लेकिन मुझे अभी भी वही त्रुटि मिलती है। – spinlock

उत्तर

12

tl; डॉ

cd my-addon 
npm link 
cd /my/project/dir 
npm link my-addon 
ember g my-addon # run default blueprint 

तब की devDependencies अनुभाग के लिए "my-addon": "*" जोड़ने को अपने ऐप्लिकेशन के package.json और एंबर-CLI अनुप्रयोग सर्वर को पुनरारंभ करें।

अब

सबसे आसान तरीका है शामिल करने के लिए एक स्थानीय रूप से विकसित एडऑन अपने ऐड-ऑन परियोजना NPM के साथ रजिस्टर करने के लिए की जड़ से use NPM's link

फर्स्ट रन npm link है के उत्तर दें। फिर npm link <your-addon-name> चलाना npm install इसे समान प्रभाव देगा।

आपको अभी भी इसे अपने package.json (एम्बर-क्ली के लिए अपने ऐप को संकलित करते समय ढूंढने के लिए आवश्यक) में मैन्युअल रूप से जोड़ने की आवश्यकता होगी और default blueprint चलाएं (यदि आपके एडन में एक है)।

यदि यह काम किया जाना प्रतीत नहीं होता है, जांच करें कि आपने keywords सूची (डिफ़ॉल्ट एंबर-CLI ऐड-ऑन खाका आप के लिए यह करना चाहिए) में "ember-addon" के साथ अपने ऐड-ऑन में एक package.json बना लिया है।

+0

मैं इसे उत्तर के रूप में स्वीकार करने जा रहा हूं क्योंकि स्थानीय रेपो का उपयोग निश्चित रूप से जाने का तरीका है। मैं भूल जाता हूं कि जिथब से आयात करने में क्या गलत था लेकिन एडन स्थानीय रखना निश्चित रूप से आसान है। – spinlock

+0

हां, निश्चित रूप से विकास के लिए, लिंकिंग का रास्ता है। लेकिन अगर आप कहीं और (सीआई या कुछ) बना रहे हैं, तो मुझे काफी यकीन है कि आपको केवल एक निजी रेपो से सामान्य के रूप में स्थापित करना चाहिए ... वैसे भी, खुशी है कि आप इसे हल कर चुके हैं! –

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