1. 简介
本篇文章主要介绍如何通过配置vscode来使用eslint和prettier来格式化Vue代码,以达到更好的代码可读性和统一的开发风格。
2. 安装插件
在使用eslint和prettier之前,需要在vscode中先安装相应的插件:
ESLint - 在vscode中使用ESLint的代码检查和格式化功能
Prettier - 在vscode中使用Prettier的代码格式化功能
可以通过在vscode扩展选项卡搜索来安装这些插件。
3. 配置eslint
接下来需要针对Vue项目配置eslint。
3.1 在项目中安装eslint
通过npm命令,在项目中安装eslint(本文以Vue项目为例):
npm install eslint eslint-plugin-vue --save-dev
这里安装了eslint和eslint-plugin-vue插件,后者是ESLint针对Vue项目的插件。
3.2 创建.eslintrc.js配置文件
在项目的根目录下创建.eslintrc.js配置文件,并添加以下内容:
module.exports = {
root: true,
env: {
node: true
},
extends: [
'plugin:vue/vue3-essential',
'eslint:recommended'
],
parserOptions: {
parser: 'babel-eslint'
},
rules: {
// 这里是配置规则的地方
}
}
以上配置的含义如下:
root: true 代表该文件为项目的根配置文件
env: {node: true} 代表代码运行的环境为node
extends: [] 表示继承哪些规则,这里使用了plugin:vue/vue3-essential和eslint:recommended,前者是vue3项目的基本规则,后者是eslint的基本规则
parserOptions: {parser: 'babel-eslint'} 代表使用babel-eslint来解析代码
rules: {} 代表可以针对不同的规则进行自定义配置
3.3 定义规则
根据需求和团队规范,需要定义自己的eslint规则,这里只是给出一些常用规则的例子:
module.exports = {
...
rules: {
// 使用两个空格缩进
'indent': ['error', 2, {'SwitchCase': 1}],
// 单引号字符串
'quotes': ['error', 'single'],
// 函数调用时括号前不需要空格
'func-call-spacing': ['error', 'never'],
// 关键字前后需要空格
'keyword-spacing': ['error', { 'before': true, 'after': true }],
// 使用 === 和 !== 代替 == 和 !=
'eqeqeq': ['error', 'always'],
// 分号结尾
'semi': ['error', 'always'],
// 禁止行尾空格
'no-trailing-spaces': 'error',
// 禁止多余的括号
'no-extra-parens': ['error', 'all', { 'nestedBinaryExpressions': false }],
// 禁止混合使用 tab 和空格缩进
'no-mixed-spaces-and-tabs': 'error',
// 禁止在非加号运算符周围使用空格
'space-infix-ops': ['error', { 'int32Hint': false }]
}
}
以上是一些基础的eslint规则,可以根据实际需求进行更改或添加。
4. 配置prettier
接下来需要配置prettier,这里同样以Vue项目为例:
4.1 在项目中安装prettier
通过npm命令,在项目中安装prettier:
npm install prettier --save-dev
4.2 创建.prettierrc.js配置文件
在项目的根目录下创建.prettierrc.js配置文件,并添加以下内容:
module.exports = {
tabWidth: 2,
useTabs: false,
semi: true,
singleQuote: true,
trailingComma: 'es5',
bracketSpacing: true,
arrowParens: 'always'
}
以上配置的含义如下:
tabWidth: 2 代表使用两个空格缩进
useTabs: false 代表不使用tab缩进
semi: true 代表使用分号结尾
singleQuote: true 代表使用单引号字符串
trailingComma: 'es5' 代表在ES5环境下使用尾逗号
bracketSpacing: true 代表对象括号与文字之间有空格
arrowParens: 'always' 代表箭头函数参数需要括号
5. 总结
通过以上配置,我们就可以在Vscode中轻松实现eslint+prettier来格式化Vue代码,以达到统一的风格和更好的可读性,从而提高开发效率和代码质量。