Использование 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);