vue3一步一步的详细讲解配置ESLint

前言

对于前端项目而言,ESLint 可以检查代码,统一代码风格,避免不必要的错误。在 vue3 中配置 ESLint,如下所示。

环境

  • vite 2.3.3
  • vue 3.0.5

说明

由于在 ESLint优先级.eslintrc.js 的优先级最高,故使用 .eslintrc.js
在这里插入图片描述

准备一个 vue3 项目,请移步 vite构建vue3项目

安装

目前有 2 种主流配置 ESLint 的方式,都需要 eslint 库的支持,故都需安装 eslint

standard规范

standard 有一个专门配合 ESLint 提供配置项的库,eslint-config-standard。要想使用 standard 规范,必须安装相关依赖。
在这里插入图片描述

yarn add eslint-config-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node -D
# OR
npm install --save-dev eslint-config-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node

可以看出,这里没有针对 vue 文件的检查规范的库,vue 生态链中提供了eslint-plugin-vue库。eslint-plugin-vue官网更加详细的介绍了如何配置 .eslintrc.js
在这里插入图片描述

  • 安装 eslint-plugin-vue
yarn add eslint eslint-plugin-vue -D
#OR
npm install --save-dev eslint eslint-plugin-vue

官方配置如下
在这里插入图片描述
由于,eslint-plugin-vue 配置规则的强度逐步递增,此处只使用最基本的配置 plugin:vue/vue3-essential
在这里插入图片描述

再将 standard 添加上,此时 .eslintrc.js 配置如下

// .eslintrc.js
module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: [
    // https://github.com/vuejs/eslint-plugin-vue
    'plugin:vue/vue3-essential', 
    'standard'
  ],
};

eslint 已经生效,如下所示:
在这里插入图片描述
vue 生态链已经包装好 eslint-config-standard ,即 vuejs/eslint-config-standard
故,可以直接安装并使用

yarn add @vue/eslint-config-standard -D
#OR
npm install @vue/eslint-config-standard --save-dev

初步总结

  1. 安装 standard规范
  2. 安装 eslinteslint-plugin-vue
  3. 替换 eslint-config-standard@vue/eslint-config-standard
    所有的安装如下所示
yarn add eslint-plugin-promise eslint-plugin-import eslint-plugin-node eslint eslint-plugin-vue @vue/eslint-config-standard -D
# OR
npm install --save-dev eslint-plugin-promise eslint-plugin-import eslint-plugin-node eslint eslint-plugin-vue @vue/eslint-config-standard
  • .eslintrc.js 配置如下
// .eslintrc.js
module.exports = {
 root: true,
 env: {
   node: true,
 },
 extends: [
   // https://github.com/vuejs/eslint-plugin-vue
   'plugin:vue/vue3-essential', 
   // https://github.com/vuejs/eslint-config-standard
  '@vue/standard'
 ],
};

其实,@vue/eslint-config-standardeslint-config-standard 的集成,故无需安装 eslint-config-standard

  • package.json
{
  "name": "vue3-vite",
  "version": "0.0.0",
  "scripts": {
    "serve": "vite preview",
    "build": "vite build",
    "lint": "vue-cli-service lint",
    "dev": "vite"
  },
  "dependencies": {
    "vue": "^3.0.5"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^1.2.2",
    "@vue/compiler-sfc": "^3.0.5",
    "@vue/eslint-config-standard": "^6.0.0",
    "eslint": "^7.27.0",
    "eslint-plugin-import": "^2.23.4",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-promise": "^5.1.0",
    "eslint-plugin-vue": "^7.10.0",
    "vite": "^2.3.3"
  }
}

vue 官方推荐安装 ESLint

上文已经验证了使用 yarn 的方式安装 eslint-plugin-vue,现在我们使用官方推荐的方式。
先卸载所有已安装的包

yarn remove eslint-plugin-promise eslint-plugin-import eslint-plugin-node eslint eslint-plugin-vue @vue/eslint-config-standard
# OR
npm uninstall eslint-plugin-promise eslint-plugin-import eslint-plugin-node eslint eslint-plugin-vue @vue/eslint-config-standard

删除 .eslintrc.js 文件
在这里插入图片描述

vue add @vue/cli-plugin-eslint

此处一定要安装了 @vuejs/app 才能在命令行中使用 vue 命令,可参考 vite构建vue3项目
执行后,选择一种自己喜欢的规范
在这里插入图片描述
默认保存即检查代码
在这里插入图片描述
见证奇迹的时刻到了,vue 自动安装了必备的包并添加了配置文件。
在这里插入图片描述

  • package.json
{
  "name": "vue3-vite",
  "version": "0.0.0",
  "scripts": {
    "serve": "vite preview",
    "build": "vite build",
    "lint": "vue-cli-service lint",
    "dev": "vite"
  },
  "dependencies": {
    "vue": "^3.0.5"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^1.2.2",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/compiler-sfc": "^3.0.5",
    "@vue/eslint-config-standard": "^5.1.2",
    "eslint": "^6.7.2",
    "eslint-plugin-import": "^2.20.2",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-promise": "^4.2.1",
    "eslint-plugin-standard": "^4.0.0",
    "eslint-plugin-vue": "^7.0.0",
    "vite": "^2.3.3"
  }
}

对比2个package.json

在这里插入图片描述
经过对比可得知,vue 官方的安装 ESLint 的方式多了2个包,且版本较低。
查看 eslint-config-standard 可知,eslint-plugin-standard 在新版 eslint-config-standard 中已经删除了。在这里插入图片描述

再次总结

  • 使用 vue 官方提供的命令更方便配置 ESLint
  • 自己配置 ESLint 能够透彻的了解需要哪些包。

airbnb规范

对于 airbnb 规范,我不习惯使用,故未了解相关资料,可使用 vue 官方命令一键生成。

好的,Vue 3 项目中配置 ESLint 的步骤如下: 1. 安装 ESLint 和相关插件 打开终端,进入 Vue 3 项目根目录,执行以下命令: ``` npm install --save-dev eslint eslint-plugin-vue@next @vue/cli-plugin-eslint ``` 其中,`eslint` 是 ESLint 核心库,`eslint-plugin-vue` 是 ESLint 用于检查 Vue 文件的插件,`@vue/cli-plugin-eslint` 是 Vue CLI 提供的 ESLint 插件。 2. 创建 ESLint 配置文件 在 Vue 3 项目根目录下创建 `.eslintrc.js` 文件,并添加以下内容: ``` module.exports = { root: true, env: { node: true }, extends: [ 'plugin:vue/vue3-essential', 'eslint:recommended' ], parserOptions: { parser: 'babel-eslint' }, rules: { 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' } } ``` 其中,`root` 表示该配置文件为 ESLint 的根配置文件,`env` 表示环境变量,`extends` 表示使用的 ESLint 规则,`parserOptions` 表示解析器选项,`rules` 表示规则配置。 3. 配置 ESLint 规则 在 `.eslintrc.js` 文件中,可以添加自定义的 ESLint 规则,例如: ``` rules: { 'no-console': 'off', // 允许使用 console 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', // 生产环境禁止使用 debugger 'vue/no-unused-components': 'warn', // 检查未使用的组件 'vue/no-unused-vars': 'warn', // 检查未使用的变量 'vue/require-default-prop': 'warn' // 检查 props 缺省值 } ``` 4. 配置 ESLint 脚本 在 `package.json` 文件中,可以添加 ESLint 的脚本,例如: ``` "scripts": { "lint": "eslint --ext .js,.vue src" } ``` 其中,`--ext` 表示需要检查的文件扩展名,`src` 表示需要检查的目录。 5. 执行 ESLint 检查 执行以下命令: ``` npm run lint ``` 即可进行 ESLint 检查。 希望以上内容能够帮助到您。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值