通常我们使用VsCode编辑器进行软件开发的时候都会安装prettier和eslint两个插件,插件的作用是为了我们编写出更规范和一致的代码,方便我们后续的开发和维护,但是,有时候我们发现即便是同一个项目下的同学,使用这些插件的方法也是有差异的,这就造成不同的人开发出的代码规范不同,不能说谁对谁错,但这在团队合作中造成了不必要的麻烦,我们有必要遵循一种编码规范,进而避免这种情况的产生,于是我们对现有的规范和成熟的项目进行了梳理对比,总结出一套自认为还算合适的配置,希望能够在项目中帮助到其他人;
创建vue项目
我们这里使用相对规范的方式创建一个vue空项目,尽量避免已有项目对我们的干扰
1 | vue create demo |
默认项目会帮我们创建babel和eslint,不过我们需要一个没有eslint的环境,因此我们选择Manually select features
我们这里只保留了,Babel,至于Router、Vuex以及其他配置对于我们这里的实例没有影响,可以根据项目需要进行选择,只要保证Linter / Formatter没有勾选即可,因为我们后边还会对项目进行Eslint的初始化,这里选上会干扰我们使用。
然后是vue版本,我们使用2.x
剩下的使用默认配置按回车,然后等待项目初始化完成
esLint初始化
首先这里我们全局安装一下eslint,方便我们使用eslint工具进行初始化npm install eslint -g
然后进到项目根目录,项目初始结构是这样的,这里可以关注下依赖的包:
然后我们执行eslint --init,会让我们做一些基础配置,下边是过程中配置非默认的一些截图:
初始化过程中,他安装了一些依赖,这些是初始化项目里没有的;
1 | "eslint": "^7.32.0", |
同时,增加了.eslintrc.js文件
1 | module.exports = { |
至此,eslint的安装就结束了,安装完成以后package.json大概是这个样子:
后边对项目的改造主要是对.eslintrc.js以及安装它的依赖,以达到我们项目开发规范化的目的;
修改配置
准备好我们配置好的文件.eslintrc.js prettier.config.js settings.json
.eslintrc.js和prettier.config.js分别是eslint和prettier的配置文件;
setting.json则是vscode编辑器的配置,这里只需要把里边的配置增加到自己的settings.json配置文件里即可,不需要全部覆盖,因为settings.json还有一些我们自己的个性化配置,这里的配置主要是一些跟代码格式化相关的通用配置;
.eslintrc.js文件:
1 | /* eslint-disable */ |
prettier.config.js文件:
1 | module.exports = { |
setting.json文件部分配置:
1 | // 文件:文件自动保存,只要暂停输入 |
把这两个文件放到项目根目录,同时把setting.json的配置放到编辑器里边,入口可以参考下图
然后是我本地的完整的配置,仅供参考:
1 | { |
有了这些配置还不够,还需要安装个依赖,否则你在使用eslint格式化的时候,会报错:
1 | "@babel/eslint-parser": "^7.12.16" |
安装完成以后再使用eslint的格式化可以将一些不规范的地方规范,同时与自动保存使用的prettire也不会冲突。
其他
格式化快捷键:ctrl+option+L
eslint格式化快捷键:ctrl+option+;
我本地的环境:
操作系统:MacBook Pro (15-inch, 2017)
nodejs版本:v16.9.0
npm版本:7.21.1
yarn版本:1.22.17
vue-cli版本:@vue/cli 5.0.0-rc.1
当然,我们在项目中配置了保存即格式化,实际上也能解决大部分问题,当遇到两种格式化不一样的时候,我们可以使用prettier来适配eslint,因为eslint对应的vue项目插件格式化还是比较通用的。
参考
关于eslint的配置及其说明可以看腾讯文档
eslint 中文官方文档
关于prettier的配置及其说明可以看官方文档
eslint-plugin-vue 这里是一些关于vue的格式化配置,可以通过这个文档了解vue格式化的思路