代码质量与格式化

常用代码质量与格式化工具 (Code Quality & Formatting Tools)

  1. ESLint - 非常强大的JavaScript代码静态分析工具,用于发现潜在错误和不符合代码规范的地方,支持丰富的规则和插件系统。

  2. Prettier - 代码格式化工具,自动格式化代码,确保团队间代码风格一致。

  3. Stylelint - 类似于ESLint,但专用于CSS和SCSS等样式文件的静态分析和格式化。

  4. EditorConfig - 跨编辑器的配置文件标准,帮助开发者在不同的编辑器中保持一致的代码风格。

EsLint+Prettier

EsLint

首先需要安装ESLint。在项目中安装是推荐的做法,因为这样可以确保每个项目都有自己的ESLint版本和配置:

bash
npm install eslint --save-dev

在项目中设置一个基本的配置文件:

bash
npx eslint --init

命令执行后,ESLint会询问几个关于你的代码风格和配置的问题,然后生成一个配置文件( .eslintrc.* )。

接下来就可以开始使用ESLint来检查你代码了:

bash
npx eslint yourfile.js

此命令会让ESLint检测 yourfile.js 文件,并在控制台输出报告。

在真实的项目中,可能想要为所有的JavaScript文件配置一个检查命令,你可以在 package.json 的 “scripts” 部分添加一个 “lint” 命令,如下:

json
{
  "scripts": {
    "lint": "eslint ."
  }
}

然后就可以通过下列命令运行ESLint:

bash
npm run lint

以上就是ESLint的基本使用方式。对于更详细的配置和规则,可以查阅ESLint的官方文档。ESLint的官方网站是:https://eslint.org/

EsLint+Prettier

在项目中通常同时使用Prettier和ESLint, 此时可以使用 eslint-config-prettier

以下是一个配置ESLint以使用eslint-config-prettier的基本步骤示例:

  1. 安装所需依赖: 首先需要安装eslintprettiereslint-plugin-prettier以及eslint-config-prettier。可以通过npm或yarn进行安装:
bash
   npm install eslint prettier eslint-plugin-prettier eslint-config-prettier --save-dev
bash
   yarn add eslint prettier eslint-plugin-prettier eslint-config-prettier --dev
bash
   pnpm add eslint prettier eslint-plugin-prettier eslint-config-prettier --save-dev
  1. 创建或修改ESLint配置文件: 通常需要在项目根目录下创建或编辑.eslintrc.*文件(可能是.eslintrc.js.eslintrc.yml.eslintrc.json)。下面以.eslintrc.js为例:

    javascript
    module.exports = {
      // 指定环境,以便ESLint可以理解你代码的上下文(比如浏览器环境、Node.js环境)
      env: {
        browser: true,
        es2021: true,
      },
      // 扩展基本的规则集,比如eslint:recommended
      extends: [
        'eslint:recommended',
        // 添加对Prettier规则的支持,注意将其放在最后以确保其规则优先级最高
        'plugin:prettier/recommended',
        // 如果你的项目中还使用了特定的框架,比如Vue或React,还可以添加对应的eslint配置
        // 例如:'plugin:vue/essential', '@vue/prettier', '@vue/typescript/recommended'
      ],
      // 插件列表,这里我们需要使用prettier插件
      plugins: ['prettier'],
      // 自定义规则,如果有的话
      rules: {
        // 这里可以添加或覆盖特定的规则,但使用'prettier/recommended'时,
        // 大部分格式相关的规则都会由Prettier接管,所以通常不需要额外配置格式规则
      },
    };
  2. 配置Prettier: 除了在ESLint中配置外,还需要一个.prettierrc文件来指定Prettier的格式化规则。例如:

    json
    {
      "singleQuote": true,      // 使用单引号
      "trailingComma": "es5",   // 尾随逗号风格
      "semi": true,             // 语句结尾使用分号
      "tabWidth": 2,            // Tab缩进宽度
      "useTabs": false          // 使用空格代替Tab
    }

完成以上步骤后,当运行ESLint时,它将会自动应用Prettier的格式化规则,并且避免与Prettier的格式化产生冲突。同时,你也可以通过编辑器插件或命令行工具单独使用Prettier进行格式化。

VSCode插件