Reputation: 5919
Mac OSX El Capitan
angular-cli: 1.0.0-beta.8
, node: 6.2.0
, os: darwin x64
I tried to add lodash
library in angular-cli project:
npm install --save lodash
typings install lodash --global --save
Successfully installed in node_modules
. 👍
system-config.ts:
/** Map relative paths to URLs. */
const map: any = {
'lodash': 'vendor/lodash',
};
/** User packages configuration. */
const packages: any = {
'lodash': {
format: 'cjs',
defaultExtension: 'js',
main: 'core.js'
}
};
angular-cli-build.js
var Angular2App = require('angular-cli/lib/broccoli/angular2-app');
module.exports = function(defaults) {
return new Angular2App(defaults, {
vendorNpmFiles: [
'systemjs/dist/system-polyfills.js',
'systemjs/dist/system.src.js',
'zone.js/dist/**/*.+(js|js.map)',
'es6-shim/es6-shim.js',
'reflect-metadata/**/*.+(ts|js|js.map)',
'rxjs/**/*.+(js|js.map)',
'@angular/**/*.+(js|js.map)',
'lodash/**/*.+(js|js.map)'
]
});
};
And then I tried to import in a service in different ways:
import { chunk, intersection, zip } from 'lodash';
Error: Cannot find module 'lodash'
declare var _;
const {chunk, intersection, zip} = _;
Error: Cannot find name 'chunk'
Cannot find name 'intersection'
Cannot find name 'zip'
I don't found the way to use lodash
...
I did something wrong? I miss something? Is there an issue?
Thank you very much,
Aral.
Upvotes: 10
Views: 3321
Reputation: 3185
@codef0rmer answer is good, but if you want specific lodash
dependencies and not the whole library, here is an answer with example on how to do that: https://stackoverflow.com/a/38317093/1426570
Upvotes: 1
Reputation: 10530
Change system-config.ts
to:
const map: any = {
'lodash': 'vendor/lodash',
};
const packages: any = {
'lodash': {
format: 'cjs',
defaultExtension: 'js',
main: 'index.js'
}
};
And then import it as:
import 'lodash';
declare var _;
Finally use it as:
_.chunk();
Upvotes: 8