您好我正在尝试使用Webpack编译angular2,所有这些似乎工作正常我得到此错误
nodecrm/node_modules/reflect-metadata/Reflect.ts
(1406,33): error TS2304: Cannot find name 'msCrypto'.
我正在关注有针对性的网站guid https://angular.io/docs/ts/latest/guide/webpack.html 有什么东西我错过了吗?我的tsconfig.json文件如下所示:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules",
"typings/browser",
"typings/browser.d.ts"
],
"compileOnSave": true,
"buildOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
感谢您的任何建议......
答案 0 :(得分:0)
来自webpack简介文章的最新tsconfig.json如下所示 -
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
}
}
尝试更改为此。看看这是否有帮助。
答案 1 :(得分:0)
reflect-metadata
包具有crypto
的依赖关系,因此请将它们安装为
npm install reflect-metadata crypto --save
答案 2 :(得分:0)
对我来说,这是由包含旧版本angular2-universal-polyfills
软件包的reflect-metadata
软件包引起的。
我已经通过使用npm下载实际的反射元数据来修复它:
npm install reflect-metadata
然后将node_modules \ reflect-metadata文件夹复制到node_modules \ angular2-universal-polyfills \ node_modules文件夹中,重写其中的旧文件夹。
希望这可以帮助面临此问题的人。我当时正在使用angular2.4.5和webpack开发一个旧项目。