首页 > 解决方案 > TypeScript 文件中只有一行,我得到:无法在我编译时重新声明块范围变量

问题描述

我在我的 Visual Studio Code 的 ex1.ts 中只写了一行代码:

let n: number = 10;

当我编译时,使用:

tsc ex1.ts

编译器正确生成 ex1.js 文件,但 VSC 立即在 .ts 文件中打印出错误:

Cannot redeclare block-scoped variable 'n'.ts(2451)
ty1.js(1, 5): 'n' was also declared here.

所以基本上 VSC 告诉我还有另一个 let n 变量......但它在 .js 文件中,而不是在 .ts 文件中。我对 TypeScript 的理解是,它是一个通过严格类型检查来编译 .js 文件的工具。为什么它会与不相关的 .js 和 .ts 文件发生冲突?

当我删除 .js 文件时,错误立即消失。这些文件位于一个简单的“练习”文件夹中。

我该如何解决这个问题?

标签: typescript

解决方案


当你处理你的打字稿代码时,你应该关闭 .js 文件,就是这样。

我希望你已经解决了这个问题。


推荐阅读