2016-11-02 93 views
2

我們具有角-CLI的β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具有JavaScript的包括lodash。

有什麼我忘記的嗎?

謝謝!

回答

2

編輯不要添加到您的角cli.json文件腳本部分。這是不需要的!

你似乎有它在那裏,只是爲了確保,在這裏與我怎麼可以重現它的工作對我的項目之一步驟:

  • 停止當前ng serve
  • npm install lodash --savenpm install @types/lodash --save-dev
  • 在CONTROLER做你import * as _ from 'lodash';
  • 使用方法如下:console.log(_.chunk(['a', 'b', 'c', 'd'], 2));
  • ng serve再次
+0

問題是把它放在angular-cli.json中。我一直試圖解決這個問題一天(它以前是工作的 - 我認爲當我做了一個npm安裝的時候,一些軟件包版本被提升了,現在它不再適用於腳本部分的lodash了)。你能詳細說明爲什麼在腳本部分不需要它嗎?感謝您的幫助,您救了我的理智! :) –

+1

我對此沒有任何出口,但我知道將其添加到腳本部分會將js庫添加到角度應用程序的全局範圍。這不適用於lodash。通常一個簡單的npm安裝,然後導入應該是它現在需要的所有角度cli使用webpack而不是systemjs了。 (請參閱https://github.com/angular/angular-cli#3rd-party-library-installation)很高興您能夠正常工作 – Riscie