可能是Ref:Angular2 - Angular-CLI installing lodash - Cannot find module的副本,但对我不起作用
跟随https://github.com/angular/angular-cli/wiki/3rd-party-libs使用https://www.npmjs.com/package/ts-md5导入ts-md
使用npm安装ts-md5导入的ts-md5 - 在node_modules上保存 . 我在angular-cli设置中的配置是
package.json:
"devDependencies": {
......
"ts-md5": "^1.2.0"
}
anular-cli-build配置:
var Angular2App = require('angular-cli/lib/broccoli/angular2-app');
var mergeTree = require('broccoli-merge-trees');
module.exports = function(defaults) {
let appTree = new Angular2App(defaults, {
sassCompiler: {
cacheExclude: [/\/_[^\/]+$/]
},
vendorNpmFiles: [
....
'ts-md5/dist/md5.js'
]
})
return mergeTree([appTree], { overwrite: true });
};
在ng build我可以找到在vendor / ts-md5 / dist / md5.js中导入的md5文件
system-config.ts:
const map: any = {
'moment' : 'vendor/moment/moment.js',
'ng2-bootstrap' : 'vendor/ng2-bootstrap',
'@angular2-material': 'vendor/@angular2-material',
'd3' : 'vendor/d3',
'md5': 'vendor/ts-md5/dist/md5.js'
};
/** User packages configuration. */
const packages: any = {
'moment' : {
format: 'cjs'
},
'ng2-bootstrap' : {
defaultExtension: 'js'
},
'd3' : {
format: 'cjs',
defaultExtension: 'js',
main: 'd3.min.js'
},
'md5': {
format: 'cjs',
defaultExtension: 'js',
main: 'md5.js'
}
};
包含 import * as md5 from 'md5' 在我的companent上导入ts-md5 .
在ng build我得到找不到模块'md5'
Error: Typescript found the following errors:
GitRepo/app-web/tmp/broccoli_type_script_compiler-input_base_path-zurkjkU9.tmp/0/src/app/shared/gravatar/gravatar.component.ts (3, 22): Cannot find module 'md5'.
at BroccoliTypeScriptCompiler._doIncrementalBuild (/GitRepo/app-web/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:120:19)
at BroccoliTypeScriptCompiler.build (/GitRepo/app-web/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:43:10)
at /GitRepo/app-web/node_modules/angular-cli/node_modules/broccoli-caching-writer/index.js:152:21
对此的任何帮助都会很棒 .
1 回答
在你的typings.d.ts中添加这个
declare module 'md5' { var exportAs:any; export = exportAs; }