2016-07-14 118 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