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.
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();
@ codef0rmer答案很好,但是如果你想要特定的lodash
依赖而不是整个库,这里有一个例子来回答如何做到这一点: https : //stackoverflow.com/a/38317093/1426570
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.