На самом деле вам не нужно.
Теперь есть пакет, который позволяет «просто импортировать» вещи: https://github.com/ef4/ember-auto-import
Некоторое чтение по теме импорта: https://discuss.emberjs.com/t/readers-questions-how-far-are-we-from-being-able-to-just-use-any-npm-package-via-the-import-statement/14462?u=nullvoxpopuli
Подробный ответ на ваш вопрос и причины, почему все так, как они есть, размещен здесь: https://discuss.emberjs.com/t/readers-questions-why-does-ember-use-broccoli-and-how-is-it-different-from-webpack-rollup-parcel/15384?u=nullvoxpopuli (Слишком длинный для переполнения стека, в том числе и на мобильном телефоне,и я не хотел бы потерять все ссылки и ссылки в копировальной пасте)
Надеюсь, это поможет
Редактировать:
Чтобы ответить:
Я просто хотел понять, «в каких случаях» нам нужно использовать оператор import в нашей ember-cli-build (то есть мы не импортируем все зависимости, которые есть в нашем пакете / bower.json)... Но только для конкретных ... Я хотел знать, каковы критерии или варианты использования для импорта.
Как правило, для каждой упаковки, поэтому привлекательность автоматического импорта и/ или упаковщики (где в будущем вместо свертки может быть использован веб-пакет).
Хотя, этоОбычно ember-addon определяет свои собственные app.import
, так что вам не нужно его настраивать, например любой из этих прокладок , в частности, вот как библиотека диаграмм c3 подкладывается: https://github.com/mike-north/ember-c3-shim/blob/master/index.js#L7
Импортировать все «вручную», как это, немного неудобно, но отчасти из-за того, что пакеты js не имеют согласованного формата распространения.Есть комбинированные команды umd, amd, cjs, es6 и т. Д., И нам нужно вручную указать, какой формат файла.У подхода «свертка + брокколи» есть некоторые большие преимущества, которые можно продемонстрировать здесь и здесь
Иногда, в зависимости от преобразования, вам понадобится "продавец-регулировочная шайба».Это удобно, когда модуль решил, что он хочет быть доступным в окне / глобальном объекте, а не в качестве экспорта модуля.Ссылка: https://simplabs.com/blog/2017/02/13/npm-libs-in-ember-cli.html (self
представляет окно / глобальное)
однако, webpack уже проделал работу, выясняя, как определить, в каком формате находится файл js, и абстрагирует все этоот вас.epack-auto-import использует webpack и позволяет просто import { stuff} from 'package-name';
.Недостатком webpack является то, что вы не можете передавать свои преобразования (что большинству людей может и не понадобиться, но это может пригодиться, если вы делаете Typescript -> Babel -> es5).