TypeScript增量严格度

Che*_*het 7 typescript

我有一个很大的Typescript项目,我想使其更加严格。特别是,我们在很多地方都存在null检查问题,因此我想使用严格的null检查选项。但是,这里有成千上万个错误,并且不可能很快解决。

但是,当我编写新代码时,我想对不可为null的类型严格,以免出现混乱。有什么方法可以逐步提高Typescript项目的严格性,以便所有新代码都具有严格的null检查?

小智 6

您可以使用typescript-strict-plugin它允许您在特定文件或目录中打开严格模式。

1.安装包

npm i -D typescript-strict-plugin
Run Code Online (Sandbox Code Playgroud)

2. 将插件添加到 tsconfig.json

npm i -D typescript-strict-plugin
Run Code Online (Sandbox Code Playgroud)

3.用@ts-strict注释标记你想要严格的文件

前:

//no strict comment here
...
const name: string = null; // no error here
Run Code Online (Sandbox Code Playgroud)

后:

//@ts-strict
...
const name: string = null; // TS2322: Type 'null' is not assignable to type 'string'.
Run Code Online (Sandbox Code Playgroud)


wra*_*ger 3

我认为最佳解决方案是使用一个新的扩展 tsconfig.json,它启用 strictNullChecks 并将在 IDE 中使用。

  1. 创建新功能时,IDE 中会出现 strictNullChecks 错误,但没关系。
  2. 重构现有代码时,出现的 strictNullChecks 错误将导致您修复代码。因此,将逐步迁移源代码以完全启用 strictNullChecks。