一、用vue create创建项目时,安装eslint,已经有lint配置和规范。
    二、代码语法检查 - eslint
    vscode 安装eslint
    通过 file - peference - settings - open setting(json),添加json配置

    1. "eslint.validate": [
    2. "javascript",
    3. "javascriptreact",
    4. "html",
    5. "vue",
    6. ],
    7. "eslint.options": {
    8. "plugins": ["html"]
    9. }

    如果使用团队单独的lint规则,可以创建.eslintrc.js文件,放在根目录,与src同级,
    参考:https://github.com/PanJiaChen/vue-element-admin/blob/master/.eslintrc.js

    三、代码风格检查并修改
    prettier
    vscode安装prettier,在setting.json中添加配置

    1. "editor.codeActionsOnSave": {
    2. "source.fixAll": true
    3. },
    4. "files.autoSave":"off",
    5. "editor.defaultFormatter": "esbenp.prettier-vscode",
    6. "[javascript]": {
    7. "editor.defaultFormatter": "esbenp.prettier-vscode"
    8. },
    9. "editor.formatOnSave": true,

    四、代码提交前检查 husky + lint-staged
    (1)利用git hook在push前检查代码,确保线上质量。
    1、使用 husky git hook工具
    安装husky

    1. npm install -D husky
    1. 2、添加precommit 脚本
    1. {
    2. "scripts": {
    3. "precommit": "eslint src/**/*.js"
    4. }
    5. }
    1. 此时premmit脚本会对所有文件进行检查,我们只需要检查新修改的文件,所以可以用lint- staged插件。<br />(2lint-staged<br />安装
    1. npm install -D lint-staged
    1. 添加package.json配置
    1. "husky": {
    2. "hooks": {
    3. "pre-commit": "lint-staged"
    4. }
    5. },
    6. "lint-staged": {
    7. "src/**/*.{js,vue}": ["prettier --write", "eslint --cache --fix", "git add"]
    8. }

    git commit 时,git hook触发precommit钩子,husky执行precommit脚本,precommit引用了lint-staged,lint-staged配置表明只扫描添加到stage区的文件。
    lint-staged做了三件事:
    (1)代码风格格式化
    (2)使用eslint检查语法错误并修复
    (3)将文件重新add到stage区,然后执行 git commit