ESLint+Prettier+Vetur 统一Vue项目代码风格

本文介绍了为何要在Vue项目中整合Eslint和Prettier,详细阐述了Prettier的优势,并提供了整合的步骤,包括安装依赖、配置文件设置以及VSCode插件的配合使用,旨在统一项目代码风格,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

一、为什么要整合Eslint和Prettier?

1、对比Prettier和Linters(eslint/tslint/stylelint)

Linters有两类规则:

  • 格式化规则:如最大长度,没有混合空格和制表符,关键字间距,逗号样式…Prettier减轻了这一类规则的需要!Prettier将以一致的方式从头开始重新打印整个程序,因此程序员不可能再在那里犯错误。* 代码质量规则:如没有未使用的变量,没有额外的绑定,没有隐式全局变量…Prettier无助于这些规则。它们也是Linter提供的最重要的工具,因为它们很可能会从你的代码中捕获真正的bug。### 2、使用Prettier的好处

  • Prettier是“约定大于配置”,各种代码格式相关的规则基本都约定好了,可以省去配置的时间和精力,也可以避免项目中关于代码格式的争论。

  • Prettier是“主厨精选”,这些规则都是精选出来的,质量都很高。

  • Prettier更注重格式化,对格式化的覆盖面比常用的 eslint-config-standard 和 eslint-config-airbnb 还要广。这当中有一些是 Prettier 比 eslint 的样式规则更多,有一些也可能是 eslint 对应的规则没有进行配置。更重要的是对于一些格式,eslint往往只会警告而不会自动格式化,如强制行的最大长度max-len,而Prettier可以自动格式化。因此Prettier是一个更强大的格式化工具。

  • Prettier支持多种语言,使用一个工具,即可统一每一种语言的风格。(prettier支持除js和vue之外的其它文件,使用项目中的prettier依赖和配置格式化其他类型文件,可以保证项目中其它类型文件的格式也统一。这样一来也保证了项目中所有类型的文件都是使用prettier来格式化的。)

二、如何整合Eslint和Prettier?

只需要使用eslint-plugin-prettier和eslint-config-prettier。

eslint-plugin-prettier :

该插件的原理是调用prettier去检查代码然后将错误转化为eslint的错误,这样借助eslint的fix功能,就可以自动格式化代码。

eslint-config-prettier:

它只做一件事就是关闭eslint中所有和prettier有冲突的rules。

最终所需的配置只有
{"extends": [ "some-other-config-you-use", "plugin:prettier/recommended"]
} 

具体实现步骤

一、安装依赖并配置配置文件

需要安装的依赖为

eslint、eslint-plugin-vue:这两个依赖项目基本都有。

prettier、eslint-plugin-prettier、eslint-config-prettier

npm install --save-dev eslint-plugin-prettier
npm install --save-dev --save-exact prettier
npm install --save-dev eslint-config-prettier 

安装完上面的依赖后所需要的所有配置如下

1、eslint配置文件.eslintrc.js为

module.exports = {root: true,parserOptions: {parser: 'babel-eslint',sourceType: 'module'},env: {browser: true,node: true,es6: true,},extends: ['eslint:recommended','plugin:vue/recommended','plugin:prettier/recommended'],// add your custom rules here//it is base on https://github.com/vuejs/eslint-config-vuerules: {}
} 

2、prettier配置文件.prettierrc为

{"trailingComma": "none","tabWidth": 2,"semi": false,"singleQuote": true,"endOfLine": "auto","printWidth": 160
} 

二、配合vscode插件使用

上面安装完依赖并配置完成后其实已经可以通过命令行来使用,但为了更方便地使用可以配合vscode插件。

1、ESLint插件

设置两种情况:

  • Run:打字时(onType)
  • Run --fix:保存时(Code Actions On Save)

针对js和vue文件,格式化本质还是使用prettier依赖。

2、Prettier插件

设为全局默认formatter。

一般有两种使用方式:保存时自动格式化或者手动快捷键

可根据自己喜好全局设置为保存时自动格式化,不过如果设置了要关闭对js和vue文件的保存时自动格式化,因为eslint已经可以调用prettier对js和vue文件进行格式化了。如果不关闭的话,这样就会对js和vue文件格式化两遍,一次是eslint --fix,一次是pretteir格式化。

对除js和vue之外的文件类型,直接使用Prettier插件进行格式化即可,它会使用项目中的prettier依赖和配置,这样也保证了项目成员格式化其它类型文件时格式也是统一的。

3、Vetur插件

eslint-plugin-vue只能对vue文件的和

This plugin allows us to check the <template> and <script> of .vue files with ESLint, as well as Vue code in .js files.

而eslint调用pretteir虽然可以检查

如上图,Vetur中默认就是打开Validation: Style的,而借助eslint-plugin-vue已经可以检查和

下面附上相关的vscode配置:

打开方式:F1——搜settings——Open Settings (JSON)

{/* 格式化相关 */"editor.defaultFormatter": "esbenp.prettier-vscode","editor.formatOnSave": false,// 根据自己喜好设置保存时是否自动格式化// 可以为特定文件类型设置特定的行为"[javascript]": {"editor.formatOnSave": false,},"[vue]": {"editor.formatOnSave": false},// vetur"vetur.validation.script": false,"vetur.validation.template": false,// eslint"editor.codeActionsOnSave": {"source.fixAll.eslint": true// 保存时是否自动fix}
} 

最后

最近还整理一份JavaScript与ES的笔记,一共25个重要的知识点,对每个知识点都进行了讲解和分析。能帮你快速掌握JavaScript与ES的相关知识,提升工作效率。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值