在我的电脑上安装VisualStudio 2017后,我遇到了打字稿编译的问题。有人可以帮忙解决这个问题吗?我找不到这种行为的任何解释。在VS2015中,它也会返回相同的错误。现在我已经在全球范围内安装了typescript@2.2.2。
这是我的typings.json
{
"globalDependencies": {
"core-js": "registry:dt/core-js#0.0.0+20160725163759",
"jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
"node": "registry:dt/node#6.0.0+20160909174046"
}
}
这是我的tsconfig.json
{
"compileOnSave": true,
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules"
]
}
在Visual Studio中记录
2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(569,11): 错误TS2451:构建:无法重新声明块范围的变量“Number”。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(599,11): 错误TS2451:构建:无法重新声明块范围变量'Math'。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(619,11): 错误TS2451:构建:无法重新声明块范围变量'RegExp'。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(623,11): 错误TS2451:构建:无法重新声明块范围变量“Map”。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(624,11): 错误TS2451:构建:无法重新声明块范围变量“Set”。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(625,11): 错误TS2451:构建:无法重新声明块范围变量'WeakMap'。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(626,11): 错误TS2451:构建:无法重新声明块范围变量'WeakSet'。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(627,11): 错误TS2451:构建:无法重新声明块范围变量'Promise'。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(628,11): 错误TS2451:构建:无法重新声明块范围变量“符号”。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(629,11): 错误TS2451:构建:无法重新声明块范围变量'Dict'。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(630,11): 错误TS2451:构建:无法重新声明块范围变量'global'。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(631,11): 错误TS2451:构建:无法重新声明块范围变量'log'。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(632,11): 错误TS2451:构建:无法重新声明块范围变量'_'。 2 - ; C:\ dev的\市场\ Marketplace.Web \ node_modules \ @types \芯-JS \ index.d.ts(661,5): 错误TS2300:构建:重复标识符'export ='。
答案 0 :(得分:0)
Visual Studio 2017尚不支持TypeScript 2.2,因此完全有可能将新的2.2语法添加到打字中,但VS中使用的TypeScript版本尚不支持。
此博客文章中提供了更多信息:https://blogs.msdn.microsoft.com/typescript/2017/03/27/typescripts-new-release-cadence/
如果不是2.2问题,您可以在"skipLibCheck": true
tsconfig.json
内设置compilerOptions
来关闭应用中的错误。