ts无法重新定义块状变量在不同的文件

247 阅读1分钟

ts在2个文件里定义相同的变量,提示无法重新定义块状变量。 原因:文件里没有importexport, ts会把这样的文件看成脚本,而不是一个模块。脚本会通过script标签加载到浏览器全局的作用域范围,因此当我们定义一个变量用同样的名字在同样的作用域,ts就会报错。

当我们定义一个变量的时候,它的值就会在内存里保存起来,如果你尝试在同样的作用域下用同样的名字定义另一个变量,变量会尝试保存在同样的地方,就会报错。

解决方法有2种,其中任何一种都可以:

  1. 在文件在加export {}
  2. tsconfig.json增加配置
// 2024/5/1
{
  "compilerOptions": {
     "moduleDetection": "force"
  }
}

image.png

image.png

参考链接: stackoverflow.com/questions/4… www.totaltypescript.com/cannot-rede…

image.png

image.png

name是全局变量,指window.name的名字