我有一个nest.js类型脚本项目,我的tsconfig.json如下
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true,
"skipLibCheck": true,
"strictNullChecks": true,
"noImplicitAny": true,
"strictBindCallApply": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true
}
}
当我使用nest build
编译时,我得到了几个Parameter 'item' implicitly has an 'any' type.
错误。
例如在这个方法上
async findAll() {
const result = await this.prismaService.partnership_certificate.findMany();
return result.map((item) => new PartnershipCertificate(item));
}
问题是vscode不像编译器那样用错误标记该方法
我注意到,当尝试这种说法时(正如SO上的一个答案所建议的那样)
const func = (test) => alert(test);
vscode确实产生了正确的错误(关于“any”类型)我不确定此语句和上面的方法之间有什么区别,但根据编译输出,它们都产生了错误
1条答案
按热度按时间ws51t4hk1#
我认为在第一个语句中,IDE足够智能,可以为
item
指定一个类型,因为您Map的是PartnershipCertificate & {_id: Types.ObjectId;}
数组,因此不会显示任何错误但在第二条语句中,它没有任何信息,因此无法猜测
item
类型,因此错误很明显