Mac OSX El capitan | angular-cli:0.1.0 |节点:5.4.0 | os:darwin x64
我尝试根据angular-cli wiki:https://github.com/angular/angular-cli/wiki/3rd-party-libs安装第三方npm模块但是失败了.我几天来一直在努力解决这个问题,非常感谢任何帮助.
ng new lodashtest3
cd lodashtest3
npm install lodash –save
typings安装lodash –ambient –save
角-CLI-build.json:
module.exports = function(默认值){
返回新的Angular2App(默认值,{
vendorNpmFiles:[
…
‘lodash / ** / *.JS’
]
});
};
建立
(lodash在dist / vendor中正确添加)
系统config.ts:
- /** Map relative paths to URLs. */
- const map: any = {
- 'lodash': 'vendor/lodash/lodash.js'
- };
- /** User packages configuration. */
- const packages: any = {
- 'lodash': {
- format: 'cjs'
- }
- };
(全部按照规范进行
https://github.com/angular/angular-cli/wiki/3rd-party-libs)
注意 – 我已经尝试了我能想到的所有配置设置,都给出了相同的结果.
lodashtest3.component.ts:
从’lodash’导入* as _;
建立
- Could not start watchman; falling back to NodeWatcher for file system events.
- Visit http://ember-cli.com/user-guide/#watchman for more info.
- Build Failed.
- The Broccoli Plugin: [BroccoliTypeScriptCompiler] Failed with:
- Error: Typescript found the following errors:
- /Users/danielmattsson/git/lodashtest3/tmp/broccoli_type_script_compiler-input_base_path-g2lDIaq6.tmp/0/src/app/lodashtest3.component.ts (2,20): Cannot find module 'lodash'.
- at BroccoliTypeScriptCompiler._doIncrementalBuild (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:115:19)
- at BroccoliTypeScriptCompiler.build (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:43:10)
- at /Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/broccoli-caching-writer/index.js:152:21
- at lib$rsvp$$internal$$tryCatch (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/broccoli-caching-writer/node_modules/rsvp/dist/rsvp.js:1036:16)
- at lib$rsvp$$internal$$invokeCallback (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/broccoli-caching-writer/node_modules/rsvp/dist/rsvp.js:1048:17)
- at lib$rsvp$$internal$$publish (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/broccoli-caching-writer/node_modules/rsvp/dist/rsvp.js:1019:11)
- at lib$rsvp$asap$$flush (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/broccoli-caching-writer/node_modules/rsvp/dist/rsvp.js:1198:9)
- at nextTickCallbackWith0Args (node.js:456:9)
- at process._tickCallback (node.js:385:13)
- The broccoli plugin was instantiated at:
- at BroccoliTypeScriptCompiler.Plugin (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/broccoli-caching-writer/node_modules/broccoli-plugin/index.js:10:31)
- at BroccoliTypeScriptCompiler.CachingWriter [as constructor] (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/broccoli-caching-writer/index.js:21:10)
- at BroccoliTypeScriptCompiler (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:26:49)
- at Angular2App._getTsTree (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/lib/broccoli/angular2-app.js:280:18)
- at Angular2App._buildTree (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/lib/broccoli/angular2-app.js:101:23)
- at new Angular2App (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/lib/broccoli/angular2-app.js:42:23)
- at module.exports (/Users/danielmattsson/git/lodashtest3/angular-cli-build.js:6:10)
- at Class.module.exports.Task.extend.setupBroccoliBuilder (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/angular-cli/lib/models/builder.js:55:19)
- at Class.module.exports.Task.extend.init (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/angular-cli/lib/models/builder.js:89:10)
- at new Class (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/angular-cli/node_modules/core-object/core-object.js:18:12)
- at Class.module.exports.Task.extend.run (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/angular-cli/lib/tasks/build.js:15:19)
- at /Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/angular-cli/lib/commands/build.js:32:24
- at lib$rsvp$$internal$$tryCatch (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1036:16)
- at lib$rsvp$$internal$$invokeCallback (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1048:17)
- at /Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:331:11
- at lib$rsvp$asap$$flush (/Users/danielmattsson/git/lodashtest3/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1198:9)
编辑:根据下面的评论更多信息
DIST / index.html的:
- <!doctype html>
- <html>
- <head>
- <Meta charset="utf-8">
- <title>Lodashtest3</title>
- <base href="/">
- <link rel="icon" type="image/x-icon" href="favicon.ico">
- <Meta name="viewport" content="width=device-width,initial-scale=1">
- <!-- Service worker support is disabled by default.
- Install the worker script and uncomment to enable.
- Only enable service workers in production.
- <script type="text/javascript">
- if ('serviceWorker' in navigator) {
- navigator.serviceWorker.register('/worker.js').catch(function(err) {
- console.log('Error installing service worker: ',err);
- });
- }
- </script>
- -->
- </head>
- <body>
- <lodashtest3-app>Loading...</lodashtest3-app>
- <script src="vendor/es6-shim/es6-shim.js"></script>
- <script src="vendor/reflect-Metadata/Reflect.js"></script>
- <script src="vendor/systemjs/dist/system.src.js"></script>
- <script src="vendor/zone.js/dist/zone.js"></script>
- <script>
- System.import('system-config.js').then(function () {
- System.import('main');
- }).catch(console.error.bind(console));
- </script>
- </body>
- </html>
使用稳定版本和当前的角度cli(1.0.0-beta.15),它只是添加了npm包和类型定义
- npm install lodash --save
- npm install @types/lodash --save-dev
对于早期版本,例如1.0.0-beta.15,下一个版本是必要的.当前版本不应该要求:
将库添加到angular-cli.json到全局脚本列表(将“../node_modules/lodash/lodash.js”添加到列表apps [0] .scripts).
见https://github.com/angular/angular-cli#global-library-installation