Использование LoDash с EmberCLI
У кого-нибудь есть рабочий пример (простого) проекта 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' будет автоматически доступна.
Добавлена связанная ссылка:
Ответы
Ответ 1
Вы можете использовать что-то готовое:
https://github.com/levanto-financial/ember-lodash
или сделать это вручную.
У меня нет никакого примера, но это должно быть так же просто, как изменить эти 3 файла:
bower.json
Просто добавьте строку
"lodash": "4.16.4",
на dependencies
и запустите bower install
в командной строке.
В качестве альтернативы вы можете установить его через bower
:
$ bower install lodash --save
Brocfile.js
Чтобы быть включенным в источники Брокколи:
app.import('bower_components/lodash/lodash.js');
добавьте это где-нибудь после var app = new EmberApp();
.jshint.rc
Добавьте строку:
"_": true,
где-то в разделе predef
(если вы не хотите видеть предупреждения типа _ is undefined
).
Я не тестировал это, но надеюсь, что это поможет:)
Ответ 2
Вы можете установить последнюю стабильную версию с помощью Bower. В корневом каталоге проекта выполните:
bower install lodash --save
Затем импортируйте его с помощью Brocolli, добавив эту строку в Brocfile.json
где-то после var app = new EmberApp( ...
:
app.import('bower_components/lodash/lodash.js');
Ответ 3
ember-lodash addon будет лучшим домашним животным. (https://www.npmjs.com/package/ember-lodash)
установить аддон: ember install ember-lodash
Чтобы включить только строковые функции
import _string from 'lodash/string';
let truncatedString = _string.trunc(rawString);
Чтобы включить всю библиотеку lodash,
import _ from 'lodash/lodash';
let truncatedString = _.trunc(rawString);