angular2 aot编译。 implicitly has an 'any' type 是什么意思以及如何更正它?

angular2 aot compile. What does implicitly has an 'any' type mean and how to correct it?

TypeScript 编译

tsc -w -p  tsconfig-aot.json

出现很多错误

app/admin/appeals_messages/appeals_messages.components.ts(22,5):错误 TS7008:成员 'userInfo' 隐式具有 'any' 类型。 app/admin/appeals_messages/appeals_messages.components.ts(33,5):错误 TS7008:成员 'error' 隐式具有 'any' 类型。 app/admin/appeals_messages/appeals_messages.components.ts(64,40):错误 TS2339:属性 'data' 在类型 'Params' 上不存在。 app/admin/appeals_messages/appeals_messages.components.ts(70,17):错误 TS7006:参数 'res' 隐式具有 'any' 类型。

.....

为什么会出现错误? TypeScript 向后兼容 js 语言,理论上必须跳过它的错误,因为我将它的代码写成 js 代码? Mabe 有办法收集它的错误,因为 tsc 没有 aot collect 应用程序并且它有效?

求助

错误仅说明变量没有声明类型。所以 Typescript 假设这是一个 "any" 类型,这就是为什么它是 "implicitly"。

在您的 tsConfig.json 中有一行您可以配置行为:

"noImplicitAny": false

但是最好给这个变量一个类型或者声明为"any"。然后它被显式设置并且错误应该消失。