Как заставить приложение ember.js импортировать модули, установленные из Bower или npm

Я довольно новичок в некоторых из этих вещей, и я чувствую, что просто упускаю что-то простое. У меня есть очень простое приложение Ember.js, которое я создал с помощью инструмента CLI в соответствии с руководством. Код находится по адресу https://github.com/nfriedly/particle-webhook-manager.

У него есть пара маршрутов и компонентов, а также одна сторонняя зависимость, частица-api-js. Я установил его дважды, через Bower и npm, и я импортирую его в один из своих компонентов вот так:

import particle from 'particle-api-js';

Я запускаю свой сервер с ember serve, и он успешно строится. Затем я открываю свой браузер на http://localhost:4200/login, где я загружаю компонент, и он дает мне следующая ошибка в моей консоли:

Error: Could not find module `particle-api-js` imported from `particle-webhook-manager/components/login-form`

Итак, мой главный вопрос: что я здесь делаю неправильно / как мне заставить это работать?

Мой второстепенный вопрос: почему он успешно «построился», а затем выдал ошибку времени выполнения для отсутствующего модуля - разве он не должен был обнаружить это на этапе сборки?


person Nathan Friedly    schedule 15.04.2016    source источник
comment
Я думаю, вам нужно импортировать этот модуль в ember-cli-build.js вот так (пути и имя могут быть неправильными): app.import('bower_components/particle-webhook-manager/whateverthefileiscalled.js');   -  person Jeff    schedule 16.04.2016
comment
поскольку этот модуль не обеспечивает установку eber, это обычный способ, которым я должен заниматься с такими вещами.   -  person Jeff    schedule 16.04.2016
comment
Да, это, а затем использование глобального Particle сработало. Не совсем то, на что я надеялся, но пока достаточно.   -  person Nathan Friedly    schedule 16.04.2016


Ответы (1)


Вам больше не следует использовать bower. Используйте ember browserify для импорта вещей, установленных с помощью npm.

Вы можете импортировать bower модулей в свой ember-cli-build.js с помощью app.import('bower_components/...js').

Вы не можете import их напрямую, но вы можете создать vendor shim, чтобы обеспечить это для вас. Ознакомьтесь с документацией ember-cli для этого.

person Lux    schedule 15.04.2016