开始在 tsconfig 中使用 'strict'
Posted
技术标签:
【中文标题】开始在 tsconfig 中使用 \'strict\'【英文标题】:Start to use 'strict' in tsconfig开始在 tsconfig 中使用 'strict' 【发布时间】:2021-10-22 05:41:03 【问题描述】:我有这个tsconfig.json
文件
"compilerOptions":
"target": "es2019",
"lib": [
"es2020",
"esnext.asynciterable"
],
"typeRoots": [
"./node_modules/@types",
"./src/types"
],
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"forceConsistentCasingInFileNames": true,
"moduleResolution": "node",
"module": "commonjs",
"pretty": true,
"sourceMap": true,
"outDir": "./build",
"allowJs": true,
"noEmit": false
,
"include": [
"./src/**/*"
],
"exclude": [
"node_modules",
"tests"
]
据您所知,那里没有严格的规定。对我来说最重要的是它开始使用strictNullChecks
设置,但是我的项目已经很大了,当我将此设置设置为true
时,我有大约1000 个错误。
我想开始重构代码以避免潜在问题,但我想一步一步地移动,一个文件一个文件,不想一次解决 1000 个错误。
我怎样才能实现它?
我计划对每个错误行使用注释// @ts-ignore
,然后逐步解决问题。但是加// @ts-ignore
1000 次就更难了。我怎样才能自动完成?
请给点建议
【问题讨论】:
【参考方案1】:我认为一种方法是使用多个 tsconfig.json
文件。开始在“叶子”添加它们,并在添加更严格的类型时将它们进一步向上移动。这些文件可以基于使用"extends"
的根配置。不过,使用多个配置 apparently can be tricky。
如果这不起作用,您可以只添加一个配置并手动列出已迁移的文件; VS Code team did this。
"extends": "./tsconfig.base.json", // Shared configuration with our main `tsconfig.json`
"compilerOptions":
"noEmit": true, // Don't output any javascript
"strictNullChecks": true
,
"files": [
// Slowly growing list of strict null check files goes here
]
【讨论】:
以上是关于开始在 tsconfig 中使用 'strict'的主要内容,如果未能解决你的问题,请参考以下文章
Typescript / Eslint 在我开始的每个项目中都会抛出“无法读取文件 tsconfig.json”