我不知道为什么,我在Angular应用中,当我按format文档时,我的类型被删除了。
# Before:
export class AppComponent {
title:string = 'angular-todolist';
name:string = 'Michael';
someInteger:number = 10;
}
# After:
export class AppComponent {
title = 'angular-todolist';
name = 'Michael';
someInteger = 10;
}
有什么建议吗?
答案 0 :(得分:5)
默认情况下,prettier-tslint
随Prettier一起安装,并将根据您的tslint.json
配置进行格式化,自动修复较小的棉绒错误。
由Angular CLI生成的linting规则有一条规则,指出隐式类型的变量不需要显式类型。具体来说,这就是您的no-inferrable-types
中的tslint.json
规则。
如果您不是内联分配变量,则不会删除它们的类型,例如:
export class AppComponent {
name: string;
constructor() {
this.name = 'Name';
}
}
格式化上面的内容将保留显式键入。
由于默认的起毛规则是“成角度的方式”,所以我认为将其保持原样不会有问题;如果将变量立即分配为字符串,则其类型显然是字符串。
但是,如果您想更改Prettier的格式化行为,只需将no-inferrable-types
中的tslint.json
条目更改为false
。如果您不想更改起毛规则,也应该能够在Prettier工作区配置中将其禁用,但是您的短绒棉仍然会针对可推断类型显示错误。