2016-11-16 107 views
0

所以我想添加lodash到基於角度cli的新項目。早上我已經做到了 ,並且非常出色。但是現在我'得到:添加外部庫的角度cli

EXCEPTION: Error in :0:0 caused by: __WEBPACK_IMPORTED_MODULE_1_lodash__.fill is not a function 

由於我使用新鮮的角度CLI

angular-cli: 1.0.0-beta.20-4 
node: 6.2.1 
os: win32 x64 

我只安裝了lodash:

npm install lodash --save 
npm install @types/lodash --save-dev 

#angular-cli.json 

"scripts": [ 
    "../node_modules/lodash/lodash.js" 
    ], 

,並在代碼中加入:

import * as _ from 'lodash'; 
export class AppComponent { 
    title = 'app works!' + _.fill(Array(3), 2); 
} 

那麼會出現什麼問題?

回答

0

您不需要將其作爲全局腳本添加,只需將其導入到您需要的模塊中即可。如果您將它作爲全局JS導入,然後作爲模塊中的導入,它將自行覆蓋。

此處瞭解詳情: https://weblog.west-wind.com/posts/2016/Sep/12/External-JavaScript-dependencies-in-Typescript-and-Angular-2

+0

是啊,這固定我的問題,謝謝! – user2771738

+0

我只是想知道更多。 lodash和jquery之間有什麼區別?據說維基上的原因是將jqury添加到angular-cli.json – user2771738

+0

我假設你問_importing_中的區別是什麼,而不是庫本身。那麼wiki的例子是_jQuery_,因爲如果你想使用另一個像_Bootstrap_這樣的_global_第三方庫,它將無法正常工作。 _Bootstrap_對_jQuery_有一個依賴關係,當它加載時,如果它沒有找到全局窗口對象jQuery,它將會拋出一個錯誤。希望它是有道理的 –