ts在2个文件里定义相同的变量,提示无法重新定义块状变量。
原因:文件里没有import和export, ts会把这样的文件看成脚本,而不是一个模块。脚本会通过script标签加载到浏览器全局的作用域范围,因此当我们定义一个变量用同样的名字在同样的作用域,ts就会报错。
当我们定义一个变量的时候,它的值就会在内存里保存起来,如果你尝试在同样的作用域下用同样的名字定义另一个变量,变量会尝试保存在同样的地方,就会报错。
解决方法有2种,其中任何一种都可以:
- 在文件在加
export {} - 在
tsconfig.json增加配置
// 2024/5/1
{
"compilerOptions": {
"moduleDetection": "force"
}
}
参考链接: stackoverflow.com/questions/4… www.totaltypescript.com/cannot-rede…
name是全局变量,指window.name的名字