我的Typescript配置允许以下代码编译:
const thing : any = 123
const name : string = thing
显然,name
并不是真正的string
类型,但是我将其声明为any
类型,使得我的类型检查器忽略了它。
我应该如何配置我的tsconfig.json
文件以便在我没有提供正确的对象类型时报错呢?
我的当前配置:
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noEmitOnError": true,
"noImplicitAny": true,
"noImplicitReturns": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"strictNullChecks": true,
"moduleResolution": "node",
"sourceMap": true,
"outDir": "dist",
"baseUrl": ".",
"paths": {
"*": [
"node_modules/*",
"src/types/*"
]
}
},
"include": [
"src/**/*.ts"
]
}
tsconfig.json
更新了问题。该设置已经启用。 - RyanNHG: Request
,那么noImplicitAny
将会抛出一个错误。 - RyanNHGname: <应该是什么类型名>req.body.name
这样。如果你只关心其中一个部分的类型,你也可以像这样做:(<请求>req).body.name
。 - oooyayaany
的全部意义所在,它禁用了所有类型检查。 - Saravana