为什么 angular-cli 生成 ngOnInit 而没有为函数结果键入?

Why does angular-cli generate ngOnInit with no typing for the function result?

我有一个由 angular-cli 生成的组件,.ts 文件的结果代码有:

ngOnInit() {
}

而不是

ngOnInit(): void {
}

我的 tslint 配置为始终需要 typedef,但 cli 生成的代码没有 typedef - 这是我的问题。

有没有办法将 cli 配置为始终设置所需的 typedef,或者我唯一的选择是禁用此 tslint 检查或手动修复它?

Angular CLI 使用蓝图生成工件,在您的node_modules 中有一个目录@angular/cli/blueprints。例如,有一个子文件夹 component/files/path,您可以在其中找到用于组件生成的模板。 Angular CLI 团队承诺在未来允许创建自定义蓝图,但从今天开始,您不能只修改模板。

如果您只是需要在方法签名中添加void,请手动添加或禁用相应的tslint规则。

另一种 hacky 方法是使用库 angular-cli-tools 生成模板(参见 https://github.com/littleuniversestudios/angular-cli-tools),但由于您只想添加 void return手动输入即可。