Cannot redeclare block-scoped variable


问题:vscode中编写typescript文件,提示错误Cannot redeclare block-scoped variable 'XXX'.ts(2451)

分析:这被认为是设计上的问题。typescript使用DOM typings作为全局执行上下文。全局环境下就极有可能随时出现命名问题,所以typescript会提示这样的错误。

解决:有两种解决方法

  1. 使当前文件被视为模块文件,如果没有中确实不需要import或者export任何内容。可以直接声明一个export{};
  2. 在tsconfig.json文件中添加如下内容,这样设置使得编译器不包含DOM typings。(目前不是很清楚这里的原因和理由,这样设置会不会带来其他问题呢?)
    {
        "compilerOptions": {
            "lib": [
                "es2015"
            ]
        }
    }
  3. 持续更新

参考

  1. Cannot redeclare block-scoped variable 'name' 
  2. cannot-redeclare-block-scoped-variable-in-unrelated-files
  3. 解决方式


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM