首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prettier删除类型

Prettier删除类型
EN

Stack Overflow用户
提问于 2019-01-25 02:48:24
回答 1查看 614关注 0票数 1

我不知道为什么,我在一个Angular应用程序中,当我按下format document时,我的类型会被删除。

代码语言:javascript
复制
# Before:
export class AppComponent {
  title:string = 'angular-todolist';
  name:string = 'Michael';
  someInteger:number = 10;
}
代码语言:javascript
复制
# After:
export class AppComponent {
  title = 'angular-todolist';
  name = 'Michael';
  someInteger = 10;
}

对这可能是什么有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-25 02:59:23

默认情况下,linter与Prettier一起安装,并将根据您的tslint.json配置格式化,自动修复较小的prettier-tslint错误。

Angular CLI生成的linting规则有一条规则,声明隐式类型变量不需要显式类型。具体地说,这是tslint.json中的no-inferrable-types规则。

如果你没有对变量进行内联赋值,它们的类型就不会被删除,例如:

代码语言:javascript
复制
export class AppComponent {
  name: string;

  constructor() {
    this.name = 'Name';
  }
}

设置上面的格式将保持显式类型。

因为缺省的linting规则是'Angular way',所以我认为让它保持原样是没有问题的;如果一个变量立即被赋值为一个字符串,那么它的类型显然是一个字符串。

但是,如果希望更改更美观的格式化行为,只需将tslint.json中的no-inferrable-types条目更改为false即可。如果你不想改变linting规则,你也应该能够在你更漂亮的工作空间配置中禁用它,但是你的linter仍然会显示一个关于可推断类型的错误。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54353487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档