您可以在单个文件或代码块上关闭严格模式等吗?

Dam*_*yer 8 typescript

我在 tsconfig.json 中打开了严格模式。我无法按照编译器的意愿改变代码的某些部分。有没有一种方法可以降低严格性来标记特定文件或更好的代码块,而不是关闭整个项目的设置?

所以我在想这样的事情。

function foo() {
 // implicitAny not allowed here 

/// noImplicitAny false

 // implicitAny allowed here 

/// noImplicitAny true
}
Run Code Online (Sandbox Code Playgroud)

我认为三重破折号指令可能会有所帮助,但它们似乎没有帮助。

谢谢 :-)

Tim*_*rry 7

不,目前无法执行此操作。

有关上下文,请参阅此 TypeScript 问题,将其跟踪为未来的可能功能: https: //github.com/Microsoft/TypeScript/issues/28306

该问题还指出了一些可能适合您的解决方法,例如创建一个包含整个项目的非严格主 tsconfig 文件,然后创建从该文件继承的本地严格配置,并仅对其自己列出的文件启用严格模式。这不是针对每个文件的,维护起来有点麻烦,但可能会有所帮助。

否则,如果您需要禁用对特定代码部分的检查,您可以通过显式地将参数和变量的类型设置为any任何位置来避免几乎所有严格的键入错误。一般来说,当然最好正确处理这些问题,因为大多数严格模式错误都是您应该注意的真正错误。