Документация предполагает, что вы используете инструмент для транспиляции, потому что рекомендованный инструмент, ember-cli
делает. Если у вас нет веских причин не использовать его, вы обязательно должны изучить его.
Это, однако, прекрасно работает без него. Например, без модульной системы Ember будет отображать controller:posts.index
на App.PostsIndexController
. Так что это должно работать на примере, который вы связали:
App.Router.map(function() {
this.route('favorite-posts');
});
App.FavoritePostsRoute = Ember.Route.extend({
model() {
return this.store.query('post', { favorite: true });
}
});
Вы также можете использовать Ember с собственной поддержкой модуля. У меня успешно есть проект Ember, основанный на rollup. Однако для этого требуется немного больше работы, чтобы найти resolver для поиска ваших классов (эта ссылка для распознавателя также содержит документы о том, как относится к ember). Ничего сложного, но вы должны создать короткий скрипт для создания регистрации.
РЕДАКТИР blessenm: Ember с накопительным пакетом
К сожалению, я не могу разделить этот код, но он работает так:
Скрипт сканирует каталог проекта и компилирует шаблоны, вызывая ember-template-compiler.js
на каждые .hbs
файл, с которым он сталкивается.
Скрипт (тот же самый, фактически) сканирует каталог проекта и генерирует главную точку входа. Это довольно просто, если он видит, скажет gallery/models/collection.js
и `Галереи/маршруты/picture.js', он будет генерировать основной файл, который выглядит следующим образом:
import r1 from 'gallery/models/collection.js';
import r2 from 'gallery/routes/picture/index.js';
// ...
Ember.Application.initializer({
name: 'registrations',
initialize: function (app) {
app.register("model:collection", r1);
app.register("route:picture.index", r2);
// ...
}
});
Он должен просто сопоставить ваши имена файлов решающих имен. В качестве бонуса вы можете контролировать, как организованы ваши каталоги.
Вызов накопителя на сгенерированный файл. Он будет тянуть все вместе. Я использую формат экспорта IIFE, пропуская весь беспорядок разрешения во время выполнения. Я предлагаю вам установить rollup to work with babel, чтобы вы могли использовать синтаксис ES6.
Я не использую какой-либо модуль, специфичный для ember, но его не следует добавлять слишком сложно. Я предполагаю, что это в основном вопрос правильной настройки импорта накопителей. Насколько я знаю, это может работать из коробки.
У вас есть код ур на github? Просто хотел посмотреть, как вы получили его для работы с накопителем. – blessenm
@blessenm Я отредактировал ответ с более подробной информацией о том, как это работает. К сожалению, этот проект не является общедоступным, поэтому я не могу показать сам код. Надеюсь, это все равно поможет.Вы также можете прочитать [этот пост] (http://discuss.emberjs.com/t/can-i-use-ember-with-npm-and-webpack/9160/9) на форуме Ember. Вы также можете посмотреть, как [этот проект] (https://github.com/tulios/ember-webpack-example) объединяет проект Ember с помощью webpack. Различные инструменты, но такой же подход. – spectras
спасибо за ответ. Пройдут через них и выяснят это. Я хотел знать, какие заметные выгоды у вас есть при использовании накопительного пакета? Был ли размер сборки ура по сравнению с использованием ember-cli? – blessenm