Importing lodash into app.ts file

匿名 (未验证) 提交于 2019-12-03 00:44:02

问题:

I am trying lodash uniqBy function to filter in my Angular 2 application. But, I am getting error in import statement import * as _ from 'lodash';. I tried import _ from 'lodash';, import _ from 'lodash/lodash';, import * as _ from 'lodash/lodash'; also, but getting the same error i.e. Cannot find module 'lodash'. After checking angular2 failing lodash import, and Importing lodash into angular2 + typescript application, I mapped lodash to my system.config like so

<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>

I have also added lodash to the dependencies in my package.json file like so

"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"     }
After npm install, I see lodash.js file here-->node_modules/lodash/lodash.js, but even then I am getting the error Cannot find module 'lodash'.

Please share your thoughts on what might be going wrong here.

回答1:

In fact, there are two parts in TypeScript application:

  • The compilation part with type checking
  • The execution part when code is actually executed

By referencing the Lodash library in the SystemJS configuration, you tackle the execution part only. Your error comes from the compilation part since you missed to install typings for the Lodash library.

You could try the following:

$ typings install lodash --ambient 


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!