我遇到了Typescript和ESLint的一个非常基本的配置问题。我在两个不同的.ts文件中有一个相同的变量,而Typescript抱怨它们被定义了两次:
Cannot redeclare block-scoped variable 'myVariable'.ts(2451)
myfile.spec.ts(5, 15): 'myVariable' was also declared here.
我应如何配置以避免VSCode中出现此类错误?
此变量是顶级变量,不在函数内部。
您至少有三个选择:
使用模块,以便顶层声明不是全局声明,而是将其范围限定在模块上。(这意味着将有两个模块,每个模块彼此分开,每个模块一个。)
如果您确实希望将其作为共享全局变量,则不要两次声明该变量。在一个文件中声明它,在另一个文件中使用它。
将两个声明都改为使用var
而不是let
/ const
(错误消息的“块范围”部分告诉我们您正在使用let
或const
)。您可以重新声明var
全局变量。
我强烈推荐#1。尽可能避免全局变量,在现代环境中几乎总是可能的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句