У кого-нибудь есть рабочий пример (простого) проекта ember-app, построенного с использованием Ember-CLI, который использует LoDash? (например: Я хочу использовать lodash, _.someLodashFunc, в моих Маршрутах и Контроллерах).
Я не видел ни одной статьи в Интернете, которая дает ясное, пошаговое объяснение того, как это сделать.
Если возможно с lodash v3.0.0 (и я использую последний ember-cli, v0.1.9).
Спасибо, Raka
Я узнал, как вам нужно создать пользовательскую сборку lodash ( "lodash modern" ). Использовать lodash-cli: https://lodash.com/custom-builds
В командной консоли введите: lodash modern..., и вы получите файл javascript, сгенерированный: lodash.custom.js
Поместите этот файл в каталог "vendor" вашего проекта ember-cli.
Измените Brocfile, добавьте это:
app.import('vendor/lodash.custom.js', {
'lodash': [
'default'
]
});
И что это... вам не нужно делать "импорт" из "lodash" в любом из ваших js файлов. На самом деле, не делайте этого (вы получите сообщение об ошибке). Доступен параметр _ var.
Например, у меня есть объект Route, например:
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
console.log('hohoho: ' + _.chunk(['a', 'b', 'c', 'd'], 2));
return Ember.Object.create({name: 'Raka'});
}
});
И я мог видеть hohoho:, b, c, d, был напечатан в консоли javascript, когда я посетил этот маршрут.
КОРРЕКЦИЯ
Вам не нужен этот lodash-cli.
Я пробовал этот путь (думаю, более правильно):
- bower install lodash --save
- В Brocfile.js введите следующую строку: app.import('bower_components/lodash/lodash.js');
Что это. _ автоматически доступен в ваших маршрутизаторах/контроллерах.
Я сделал то же самое с d3:
- установка bower d3 --save
- В Brocfile.js введите следующую строку: app.import('bower_components/d3/d3.js');
И переменная с именем 'd3' будет автоматически доступна.
Добавлена связанная ссылка:
- Импортировать пользовательскую библиотеку в ember-cli
- http://tiku.io/info/2866484/how-to-include-a-local-javascript-im-ember-cli-application (цитата: если вы не нуждаетесь в них для минимизации в файле vendor.js, вы можете поместить их в public/js, а затем включить его в качестве обычного файла script в app/index.html. Я использую этот метод для некоторых библиотек, таких как moment.js. Общая папка напрямую копируется в корень вашего сайта во время сборки.)
- Правильный способ доступа к сторонним библиотекам, таким как D3 в Ember CLI?