返回

ESLint + StyleLint + Commitizen + Husky 助你统一代码风格,提升开发效率

前端

相信很多小伙伴在开发的时候都会遇到格式化代码的问题,尤其是换台电脑,或者是接手一个新的项目,不同风格的代码让作为开发的我们十分难受,那么怎么统一代码风格,怎么让代码看起来优雅呢?

ESLint 首先我推荐的就是 ESLint,它是 JavaScript 的一个静态代码分析工具,可以帮助你发现代码中的错误和潜在的问题。它可以检查代码是否符合一定的编码规范,并提供修复建议。

在使用 ESLint 之前,我们需要先安装它。我们可以使用 npm 来安装 ESLint:

npm install eslint --save-dev

安装完成后,我们需要创建一个 .eslintrc.json 文件来配置 ESLint。在这个文件中,我们可以指定 ESLint 的规则和选项。

{
  "extends": "eslint:recommended",
  "rules": {
    "indent": ["error", 2],
    "quotes": ["error", "double"],
    "semi": ["error", "always"]
  }
}

在上面的配置中,我们指定了缩进为两个空格,引号为双引号,分号为总是使用。

配置完成后,我们就可以使用 ESLint 来检查代码了。我们可以使用以下命令来检查代码:

eslint src/**/*.js

ESLint 会输出代码中的错误和潜在的问题。我们可以根据 ESLint 的提示来修复代码。

StyleLint 接下来我推荐的是 StyleLint,它是一个 CSS 和 SCSS 的静态代码分析工具。它可以帮助你发现代码中的错误和潜在的问题。它可以检查代码是否符合一定的编码规范,并提供修复建议。

在使用 StyleLint 之前,我们需要先安装它。我们可以使用 npm 来安装 StyleLint:

npm install stylelint --save-dev

安装完成后,我们需要创建一个 .stylelintrc.json 文件来配置 StyleLint。在这个文件中,我们可以指定 StyleLint 的规则和选项。

{
  "extends": "stylelint:recommended",
  "rules": {
    "indentation": 2,
    "quotes": "double",
    "semi": "always"
  }
}

在上面的配置中,我们指定了缩进为两个空格,引号为双引号,分号为总是使用。

配置完成后,我们就可以使用 StyleLint 来检查代码了。我们可以使用以下命令来检查代码:

stylelint src/**/*.css

StyleLint 会输出代码中的错误和潜在的问题。我们可以根据 StyleLint 的提示来修复代码。

Commitizen Commitizen 是一个命令行工具,它可以帮助你规范提交代码的注释。它提供了很多预定义的注释模板,我们可以根据需要选择合适的模板来使用。

在使用 Commitizen 之前,我们需要先安装它。我们可以使用 npm 来安装 Commitizen:

npm install commitizen --save-dev

安装完成后,我们需要初始化 Commitizen。我们可以使用以下命令来初始化 Commitizen:

commitizen init

初始化完成后,我们就可以使用 Commitizen 来提交代码了。我们可以使用以下命令来提交代码:

git commit -m "feat: add a new feature"

在上面的命令中,我们使用了 feat: add a new feature 这个预定义的注释模板。

Husky Husky 是一个 Git 钩子工具,它可以帮助我们在提交代码之前执行一些操作。我们可以使用 Husky 来执行 ESLint 和 StyleLint 的检查。

在使用 Husky 之前,我们需要先安装它。我们可以使用 npm 来安装 Husky:

npm install husky --save-dev

安装完成后,我们需要配置 Husky。我们可以创建一个 .huskyrc.json 文件来配置 Husky。在这个文件中,我们可以指定 Husky 在提交代码之前执行的操作。

{
  "hooks": {
    "pre-commit": "eslint src/**/*.js && stylelint src/** /*.css"
  }
}

在上面的配置中,我们指定了在提交代码之前执行 ESLint 和 StyleLint 的检查。

配置完成后,我们就