问题
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"
}
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
来源:https://stackoverflow.com/questions/38383724/importing-lodash-into-app-ts-file