Как вы импортируете недавно созданный ember addon?

Я пытаюсь создать свой первый Ember AddOn и зацикливаюсь на импорте его в проект Ember. Я создал аддон и опубликовал на 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, Я думаю (тм), это моя проблема, но я не уверен, что еще мне нужно сделать, чтобы настроить мой аддон.

1 ответ

Решение

ТЛ; др

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

Затем добавьте "my-addon": "*" к devDependencies раздел вашего приложения package.json и перезапустите сервер приложений ember-cli.

Более длинный ответ

Самый простой способ добавить локально разработанный аддон - это использовать NPM link

Первый забег npm link из корня вашего аддон-проекта, чтобы зарегистрировать его с помощью npm. Потом работает npm link <your-addon-name> будет иметь тот же эффект, что и npm install это

Вам все равно придется вручную добавить его в свой package.json (требуется для ember-cli, чтобы найти его при компиляции приложения) и запустить проект по умолчанию (если он есть у вашего аддона).

Если это не работает, проверьте, что вы создали package.json в вашем аддоне с "ember-addon" в keywords список (по умолчанию план аддона ember-cli должен сделать это за вас).

Другие вопросы по тегам