Vue3+Typescript项目配置eslint和commitlint
在多人合作的项目中,如果没有规范约束,可能每个人提上来的代码都要被格式化一遍,不便于查看该功能具体修改了哪些代码,并且commit信息写的五花八门,有时也不利于理解,所以规范是一个非常nice的东西,有了它,在多人合作的项目中,避免了很多不必要的麻烦,也会节省很多时间。
本人将如何一步一步添加规范的过程记录下来,方便和我一样有同样需求的小伙伴学习。
配置eslint
- 安装eslint依赖并初始化
1 | npm i eslint -D |
初始化的步骤如下:
这一步需要根据你项目的框架选择,vue.js:
Vue3使用了TypeScript所以需要选“Yes”:
这个选什么就会生成一个什么文件进行配置eslint规则,根据自己的需要选择,我这里选择的是JSON(我选JavaScript,生成的.eslintrc.js会报错),然后继续,一路到底就初始化好了。
- 配置eslint规则
然后根据自己的需要在.eslintrc.json配置eslint规则,可以参考eslint规则中文版。
- 安装eslint插件
配置完成后,若vscode没有安装eslint插件,需要安装eslint插件。
安装完后,需要给vscode设置一下:
1 | "editor.codeActionsOnSave": { |
配置prettier
- 安装依赖
1 | npm i prettier eslint-config-prettier eslint-plugin-prettier -D |
- 配置文件:
在项目根目录下新建.prettierrc文件,然后写入:
1 | { |
根据需要配置自己的prettier规则:可参考prettier规则
- vscode安装prettier插件:
然后在vscode设置中,把这个勾上,保存时就能自动修复:
并在vscode设置中添加:
1 | "[javascript]": { |
- 然后在.eslintrc.json文件中extends中添加:
1 | "extends": [ |
配置代码提交规范husky
安装依赖
1 | npm install -D husky |
初始化
1 | npx husky install .husky |
添加commit-msg
1 | npx husky add .husky/commit-msg "node scripts/verifyCommit.js" |
在根目录下创建scripts文件夹,然后在该文件夹下创建verifyCommit.js文件:
然后写入下面代码,在提交时就会执行检验commit的信息。
1 | // eslint-disable-next-line no-undef, @typescript-eslint/no-var-requires |
在检验commit提交信息前需要先检验eslint规则,有个钩子pre-commit,在commit之前会执行。在工程终端中执行:
1 | npx husky add .husky/pre-commit "npm run lint" |
然后在package.json的scripts中,加入下面的语句:
1 | "lint": "eslint --fix --ext .js,vue src/" |
然后可以提交一下代码检测一下是否加上了eslint和commitlint.
可能会遇到一些问题,慢慢一个一个解决后就可以提交了。