Cannot redeclare block-scoped variable
问题:vscode中编写typescript文件,提示错误Cannot redeclare block-scoped variable 'XXX'.ts(2451)
分析:这被认为是设计上的问题。typescript使用DOM typings作为全局执行上下文。全局环境下就极有可能随时出现命名问题,所以typescript会提示这样的错误。
解决:有两种解决方法
- 使当前文件被视为模块文件,如果没有中确实不需要import或者export任何内容。可以直接声明一个export{};
- 在tsconfig.json文件中添加如下内容,这样设置使得编译器不包含DOM typings。(目前不是很清楚这里的原因和理由,这样设置会不会带来其他问题呢?)
{ "compilerOptions": { "lib": [ "es2015" ] } }
- 持续更新