我有一个相当大的Typescript项目,我想让它更严格。特别是,我们在很多地方都存在空值检查的问题,所以我想使用严格的空检查选项。但是,有成千上万的错误,并且不太可能很快解决这个问题。
但是,当我编写新代码时,我希望对非可空类型严格要求,所以我不会陷入混乱。有没有办法逐步提高Typescript项目的严格性,所以所有新代码都有严格的空值检查?
答案 0 :(得分:2)
您可以使用 typescript-strict-plugin,它允许您在特定文件或目录中打开严格模式。
npm i -D typescript-strict-plugin
{
"compilerOptions": {
//...
"strict": false,
"plugins": [
{
"name": "typescript-strict-plugin",
}
]
}
}
之前:
//no strict comment here
...
const name: string = null; // no error here
之后:
//@ts-strict
...
const name: string = null; // TS2322: Type 'null' is not assignable to type 'string'.
答案 1 :(得分:0)
我认为最佳的解决方案是用一个新的扩展tsconfig.json,它启用了strictNullChecks并将在IDE中使用。
答案 2 :(得分:0)
构建两个TS配置文件:
tsconfig.json
:
include
条目包含旧源代码库中的所有路径或glob。只需几行代码,就应该很容易tsconfig-strict.json
:
include
条目包含您的整个代码库tsconfig.json
以避免重复将第一个用于开发,将第二个用于构建代码以进行生产或以编程方式检查严格错误(例如tsc --project tsconfig-strict.json
)。