代码规范之prettier+eslint实践

eslint:code quality linter
prettier: code formatter css

两者结合使用既能达到团队代码协做风格一致(好比空格宽度,缩进等),又能作代码检查。node

今天遇到一个问题:使用eslint时,一般为了约束开发人员,会同时使用pre-commit(利用git hooks),在commit以前若是eslint检查不经过则没法提交。git

而在加入prettier的时候,但愿能在代码提交的时候prettier能自动格式化个人代码文件,而后再提交。所以加入了husky+lint-staged配和实现。husky也利用了git hooks.npm

结果这两个git hooks只有一个起到了做用。json

为了达到既能自动格式化代码,又能拦截eslint错误提交,能够保留pre-commit,而后将lint-staged加入pre-commit中,此时能够移除husky了。eslint

修改package.json以下:
package.json:code

"scripts": {
        "lint": "node ./node_modules/.bin/eslint src",
        "precommit": "lint-staged"
    },
"pre-commit": [
    "precommit",
    "lint"
  ],
 "lint-staged": {
        "**/**.{js,json,pcss,md}": [
            "prettier --write",
            "git add"
        ]
    },

安装eslint-config-prettier(eslint-plugin-prettier 和 eslint-config-prettier 以及both 中,选择了eslint-config-prettier):orm

npm i eslint-config-prettier -D

修改.eslintrc,使得format规则冲突时以prettier为准:ip

{
  "extends": ["eslint-config-recommended", "prettier"],
  "rules": {
    "eqeqeq": "off"
  }
}

这样就能完美结合了。开发

相关文章
相关标签/搜索