Javascript 获得';无法重新声明块作用域变量';对于';消息';变量

Javascript 获得';无法重新声明块作用域变量';对于';消息';变量,javascript,typescript,visual-studio-code,Javascript,Typescript,Visual Studio Code,我是一名桌面应用程序开发人员,试图学习网络编程技术的雪崩。我决定专注于Angular(2-4个,随便什么),因为它看起来可能会持续一年多。我现在正在修一门关于打字的课程。我正在使用Visual Studio代码(1.14.0-我刚刚更新了它)和TypeScript版本2.4.1(这是它在右下角显示的内容) 讲师正在向我们展示如何使用命令行进行“传输”(这是我浪费上午时间的又一个混乱局面-请参阅tsc.cmd而不是tsc) 所讨论的示例仅为这一行,即Visual Studio代码编辑器中的第一行也

我是一名桌面应用程序开发人员,试图学习网络编程技术的雪崩。我决定专注于Angular(2-4个,随便什么),因为它看起来可能会持续一年多。我现在正在修一门关于打字的课程。我正在使用Visual Studio代码(1.14.0-我刚刚更新了它)和TypeScript版本2.4.1(这是它在右下角显示的内容)

讲师正在向我们展示如何使用命令行进行“传输”(这是我浪费上午时间的又一个混乱局面-请参阅tsc.cmd而不是tsc)

所讨论的示例仅为这一行,即Visual Studio代码编辑器中的第一行也是唯一一行:

let message = 0;
我在“消息”下得到错误红线,告诉我:

[ts]无法重新声明块作用域变量“message”

它适用于讲师(在他的MAC上),但ts编译器命令也适用

如果我把它改成

let messag = 0;
错误消失了。我在类型脚本中找不到消息是命令、语句或全局变量的位置


看起来我正在运行最新的节点和类型脚本。我只是担心我的机器上没有正确安装一些东西。

我仍然在习惯VS代码的特性。 我的问题是,我将以前代码的“存档”副本放在一个子文件夹中,没有意识到这些副本将作为“程序集”的一部分加载

不要简单地关闭文件夹!如果只查看单个文件,编辑器将关闭intellisense for typescript


我的解决方案是将存档文件从文件夹下移出并重命名,使其扩展名不再为.ts.

是npm项目吗?如果没有-将其设置为一个,并使用tsconfig.json的功能,如果需要,您可以在其中排除文件。也许还可以使用GIT?您可以创建一个模板repo(使用默认配置)来进行克隆,然后添加特定内容。

正如错误消息所示,在源代码中,您已经在其他地方声明了消息变量,如果不是这样,您可以发布您尝试传输的整个文件吗?正如我在问题中所说,这是文件中唯一的一行。就这样,啊!我将存档文件存储在我工作的文件夹下面的一个文件夹中,编辑器正在将它们包括在内!我没有注意到,因为文件夹已折叠,看起来不重要。很抱歉给你带来困惑。我正在学习一门课程,而讲师只是让我们在VS代码中键入示例。他只是一次又一次地使用同一个文件(main.ts),但我想保留一个历史记录。我选择将文件存储在我正在使用的子文件夹下。我没有意识到VS代码引用了这些文件。这就是为什么它认为变量“message”已经定义了。当我第一次尝试一些东西时,我遇到了所有奇怪的东西。