2016-07-14 42 views
0

我想lodash uniqBy函數來篩選我的Angular 2應用程序。但是,我在導入語句import *中出錯,因爲來自'lodash'的_。我試過import _ from'lodash';import _ from'lodash/lodash';,從'lodash/lodash'導入*作爲_;也,但得到相同的錯誤,即找不到模塊'lodash'。檢查angular2 failing lodash importImporting lodash into angular2 + typescript application後,我映射lodash我system.config像這樣將lodash導入app.ts文件

<script> 
 
     System.config({ 
 
     packages: {   
 
      app: { 
 
      format: 'register', 
 
      defaultExtension: 'js' 
 
      } 
 
     }, 
 
     map: { 
 
      lodash: 'node_modules/lodash/lodash.js' 
 
     } 
 
     }); 
 
     System.import('app/main') 
 
      .then(null, console.error.bind(console)); 
 
    </script>

我還增加lodash到依賴於我的package.json文件,像這樣

"dependencies": { 
 
     "angular2": "2.0.0-beta.15", 
 
     "systemjs": "0.19.26", 
 
     "es6-shim": "^0.35.0", 
 
     "reflect-metadata": "0.1.2", 
 
     "rxjs": "5.0.0-beta.2", 
 
     "zone.js": "0.6.10", 
 
     "bootstrap": "^3.3.6", 
 
     "lodash":"^4.13.1" 
 
    }
安裝npm之後,我在這裏看到lodash.js文件 - > node_modules/lodash/lodash.js,b即使然後我得到錯誤 找不到模塊'lodash'

請分享你對這裏可能出錯的看法。

回答

0

事實上,有兩個部分在打字稿應用:

  • 編譯部與類型檢查
  • 執行部時代碼實際執行

通過參照在Lodash庫SystemJS配置,只處理執行部分。由於您錯過了爲Lodash庫安裝類型,因此您的錯誤來自編譯部分。

你可以嘗試以下方法:

$ typings install lodash --ambient 
+0

環境標誌似乎被棄用,因此只好用全球性的。它仍然沒有工作。收到超時消息並以錯誤結束。 typings ERR!消息無法連接到「https://api.typings.org/entries/npm/l odash/versions/latest」 typings ERR!由連接引起ETIMEDOUT 104.24.113.177:443 typings ERR! node -v v4.4.5 typings ERR! typings -v 1.3.1 typings ERR!代碼EUNAVAILABLE – abhi

+0

顯然我不必經歷所有這些步驟。只要在index.html中引用lodash 就足夠了。由於lodash沒有嚴格的類型,所以聲明一個變量聲明var _:any在app.ts中工作。 – abhi