一步步详细讲解vue3配置ESLint
作者:harmsworth2016 发布时间:2024-06-05 15:31:55
前言
对于前端项目而言,ESLint 可以检查代码,统一代码风格,避免不必要的错误。在 vue3 中配置 ESLint
,如下所示。
环境
vite 2.3.3
vue 3.0.5
说明
由于在 ESLint优先级 中 .eslintrc.js
的优先级最高,故使用 .eslintrc.js
。
准备一个 vue3
项目,请移步 vite构建vue3项目
安装
目前有 2 种主流配置 ESLint
的方式,都需要 eslint
库的支持,故都需安装 eslint。
standard
airbnb
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
初步总结
安装
standard规范
安装
eslint
和eslint-plugin-vue
替换
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-standard
是 eslint-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
官方命令一键生成。
来源:https://blog.csdn.net/harmsworth2016/article/details/117465251
猜你喜欢
- 什么是数据库?数据库是存放数据的“仓库”, * 对此形象地描述为“电子化文件柜
- Step 1:Creating a Linked Server. EXEC sp_addlinkedserver 'ADSI'
- 本文实例讲述了vue实现图片懒加载的方法。分享给大家供大家参考,具体如下:vue图片懒加载使用首先第一步,安装插件vue-lazyloadn
- 背景2010年, OAuth 授权规范 1.0 (rfc 5849) 版本发布, 2年后, 更简单易用的 OAuth 2.0 规范发布(rf
- 一:C# 连接SQL数据库 Data Source=myServerAddress;Initial Catalog=
- 1.如何让计算机自动判断一张图是否偏暗?或是判断一张图是否是处于夜晚?我们可以先把图片转换为灰度图,然后根据灰度值的分布来判断,如:我们可以
- MySQL的分页似乎一直是个问题,有什么优化方法吗?网上看到网上推荐了一些分页方法,但似乎不太可行,你能点评一下吗?方法1: 直接使用数据库
- 首先这是一个先有鸡还是先有蛋的问题,大部分时候数据都来自excel的整理,当数据越来越多,需要分析的点也越来越多的时候,通过excel来管理
- 问题描述我在用Keras的Embedding层做nlp相关的实现时,发现了一个神奇的问题,先上代码:a = Input(shape=[15]
- 1、使用ImageField先安装pillow模块pip install pillow2、在app的models中设置class Image
- Django分页功能的实现打开命令行窗口,创建Django工程,使用以下命令:django-admin startproject djpag
- 摘 要: 恢复丢失的数据库文件在很大程度上取决于所采用的备份策略。本文从恢复的灵活性出发,对Oracle8数据库的备份及恢复策略进行了探讨,
- 在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成。为了解决这些问题,在2003年I
- 一、创建mysql数据库1.创建数据库语法--创建名称为“testdb”数据库,并设定编码集为utf8CREATE DATABASE IF
- pytorch transform数据处理转c++python推理代码转c++ sdk过程遇到pytorch数据处理的转换1.python代
- 二是什么时候CPU是空闲的?空闲是一个相对的标准。有时会CPU使用率30%以下可以定义为空闲;而有时候CPU使用率只有不到60%,就是空闲。
- 本文分析了PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别。分享给大家供大家参考,具
- 本篇我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数、学习读写文件的方法,并尝试函数式编程
- 1、配置安装源# 安装dnf install http://mirrors.ustc.edu.cn/mysql-repo/mysql80-c
- Python线程与进程进程:进程是程序的一次执行,每个进程都有自己的地址空间、内存、数据栈以及其他记录其运行的辅助数据。线程:所有的线程运行