2016-11-02 3 views
2

Мы получаем ошибку с угловым-кли бета 18Угловые функции 2/Угловое 2 CLI/lodash не найден

Error: Uncaught (in promise): TypeError: __WEBPACK_IMPORTED_MODULE_6_lodash__.find is not a function 

Lodash + типы были добавлены в package.json: -

"lodash": "4.14", 
"@types/lodash": "4.14.38", 

В разделе сценариев углового-cli.json мы имеем ссылку на модуль

"../node_modules/lodash/lodash.js", 

мы импортирующей lodash с помощью: -

import * as _ from 'lodash';

Составленный scripts.bundle.js имеет lodash Javascript включен.

Есть ли что-нибудь, о чем я забыл?

Спасибо!

ответ

2

EDIT: Не добавляйте в свой угловой cli.json файлы сценариев раздела. Это не нужно!

Вы, кажется, прямо здесь, просто чтобы убедиться, вот шаги, с тем, как я могу воспроизвести его работать на одном из моих проектов:

  • остановить ток ng serve
  • сделать npm install lodash --save и npm install @types/lodash --save-dev
  • В контроллере сделать ваш import * as _ from 'lodash';
  • Используйте это так: console.log(_.chunk(['a', 'b', 'c', 'd'], 2));
  • ng serve
+0

Проблема заключалась в том, чтобы положить его в угловое cli.json. Я пытался исправить это в течение дня (он работал раньше - я думаю, когда я установил npm, некоторые версии пакетов были увеличены, теперь он больше не работает с lodash в разделе сценариев). Не могли бы вы объяснить, почему это не нужно в разделе сценариев? Спасибо за вашу помощь, ты спас мне здравый смысл! :) –

+1

Я не экспортирую на это, но я понимаю, что добавление его в секцию scrips добавит js-библиотеку в глобальную область вашего углового приложения. Это не связано с lodash. Обычно простая установка npm и затем импорт должны быть все, что нужно теперь, когда angular-cli использует webpack, а не systemjs. (См. Https://github.com/angular/angular-cli#3rd-party-library-installation) Рад, что вы получили его – Riscie