2015-05-26 21 views
6

İlk Ember AddOn'umu oluşturmaya çalışıyorum ve bunu bir Ember projesine içe aktarıyorum. Böyle Github için addon oluşturulan ve yayınlanan ettik: son olarak, bir rota içe deneyinYeni oluşturulan bir sanal eklentiyi nasıl içe aktarıyorsunuz?

test-app$ ember install <github-url> 

Ve:

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

Sonra projemden, ben eklenti yüklemek:

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

Ama konsolda bu hatayı alıyorum:

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

Hata yaptığım herhangi bir fikir var mı? Addon'u node_modules dizininde ancak bower_components'da göremiyorum. Sanırım (tm) bu benim sorunum ama eklentimi ayarlamak için başka ne yapmam gerektiğinden emin değilim.

+3

Eğer npm'de yayınlamıyorsanız, ember projenize [link] (https://docs.npmjs.com/cli/link) eklemeniz gerekir – MilkyWayJoe

+0

Teşekkürler @MilkyWayJoe ama bence sorun. Ben addon github üzerinde özel bir repo yayımladıktan sonra test-app (Ben adım yükleme adımı ekledim). Ayrıca önerdiğin gibi npm bağlantısını denedim ama hala aynı hatayı aldım. – spinlock

cevap

12

tl; dr

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

Sonra devDependencies bölümüne "my-addon": "*" eklemek uygulama en package.json ve kor-cli uygulama sunucusunu yeniden başlatın.

Daha Uzun

kolay yolu yerli olarak üretilen eklenti NPM ile kaydettirmek için eklenti projesinin kökünden use NPM's link

İlk vadede npm link etmektir dahil etmek cevaplayın. Daha sonra npm link <your-addon-name> koşturmak, npm install ile aynı etkiye sahip olacaktır.

package.json numaranıza (uygulamanızı derlerken bunu bulmak için ember-cli için gereklidir) el ile eklemeniz ve default blueprint'u (eklentiniz varsa) çalıştırmanız gerekir. Bu çalışıyor gibi görünüyor yoksa

, sen keywords listesinde (varsayılan kor-cli eklenti planı sizin için yapmalısınız) içinde "ember-addon" ile eklenti bir package.json oluşturduk olmadığını kontrol edin.

+0

Bu cevabı kabul edeceğim çünkü yerel bir repo kullanmak kesinlikle gitmek için bir yol. Github'dan içe aktarma işleminin neyin yanlış olduğunu unuttum, ancak addon'u yerel tutmak kesinlikle daha kolay. – spinlock

+0

Evet, kesinlikle kalkınma için bağlantı kurma yolu. Ama başka bir yerde (CI ya da bir şey) inşa ediyorsanız, o zaman sadece normal gibi aynı özel bir repo dan yüklemeniz gerekir eminim ... Her neyse, bunu sıralamaya sevindim! –

İlgili konular