panyanbin / blog-comments

博客文章评论内容
0 stars 0 forks source link

eslint规则在项目中的整合(js、prettier、vue、typescript) | 老潘的博客 #10

Open panyanbin opened 3 years ago

panyanbin commented 3 years ago

https://www.panyanbin.com/article/b679027e.html

如果项目已经出来开发了好些功能,但是又没有给项目配置eslint,肯定会发现在多人合作开发时的代码格式很混乱,有些语法错误的代码开发中可能不会暴露出来,但是等到线上才出现报错就晚了。所以,整合eslint去校验代码语法,优化代码逻辑,统一代码风格是很有必要。本文是对项目的常规lint规则去整合到eslint的说明,比如通过eslint预设规则校验js代码,通过prettier去统一代码风格,通过插

Xue-Felix commented 2 years ago

请问您我用vite生成配置了prettier,Ctrl+s的ts文件不生效是什么原因,其它vue文件可以生效

panyanbin commented 2 years ago

@Xue-Felix 请问您我用vite生成配置了prettier,Ctrl+s的ts文件不生效是什么原因,其它vue文件可以生效

如果其他文件生效就而ts文件不生效,应该是编辑器针对ts文件没有设置默认的formatter,设置好默认formatter后应该就可以保存自动格式化。

对于vscode,在ts文件中,右键选择Format Document with...,这时弹窗选择一个formatter,比如如图所示

ts文件 default formatter

注意选择的是最底下的Configurer Default Formatter,选择后会再弹窗这时选择一个formatter即可,之后就保存文件自动格式化。

当然也可以直接在.setting.json编辑器配置文件中添加一项配置:

{
    // ... 其他配置
    "[typescript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    }
}

注意,esbenp.prettier-vscode这个值在你的电脑不一定生效,因为你的电脑不一定有这个formatter,推荐使用第一种方式设置,其实第一种方式也是设置这个值,只不过配置值写入到vscode的系统级配置文件中而非项目级的配置文件。

RaymondNY commented 2 years ago

请问在标签上的属性是boolean值时,保存时候prettier自动把true加上了双引号,请问这个怎么解决?

panyanbin commented 2 years ago

请问在标签上的属性是boolean值时,保存时候prettier自动把true加上了双引号,请问这个怎么解决?

不太了解你使用的场景,标签属性的值不是都应该有引号(单/双引号)?或者直接就只有属性,没有值

<input type="text" value="123" />

<input type="text" disabled />

一般对于prettier的可定义风格配置,修改.prettierrc预定义的配置值即可,其他的风格问题基本都是修改eslint给定的配置或引入新plugin来定义