//eslint笔记: https://juejin.cn/post/7037426216671903780#heading-21
//eslint的rules: https://blog.csdn.net/m0_37408390/article/details/106456959
module.exports = {
env: {
//在ESLint的各种规范,一般都不允许使用未在页面内声明的成员
//而在开发经常会用到一些环境自带的api,如:浏览器的window/document等
//所以要告诉eslint,当前代码实在那些环境中运行的,这样检查时就不会报错
browser: true,
commonjs: true,
es2021: true
},
extends: [
'plugin:vue/vue3-essential',
'standard'//标准规范,允许使用undefined;recommended:推荐规范
// 使用内置规范还是第三方规范 配置时可省略eslint-config-,直接写成standard
],
/*
语法包规范类型:
a、ESLint内置规范包(随eslint一起下载):eslint-all 使用全部280多个规则 eslint-recommended 只使用推荐的60个规则
b、标准规范包(需要下载):eslint-config-standard 使用200多个规则 可以在创建eslint配置文件时,选择下载 Standard
1.下载包:npm i eslint-config-standard -D
2.降低eslint版本:npm i eslint@7.32.0 (standard依赖低版本的eslint)
3.修改eslint配置文件中的 es版本:
c、第三方规范包(google/airbnb/facebook....)
*/
// "semi" 和 "quotes" 是 ESLint 中 规则 的名称。第一个值是错误级别,可以使下面的值之一:
//
// "off" or 0 - 关闭规则
// "warn" or 1 - 将规则视为一个警告(不会影响退出码)
// "error" or 2 - 将规则视为一个错误 (退出码为1)
// 这三个错误级别可以允许你细粒度的控制 ESLint 是如何应用规则
parserOptions: {
ecmaVersion: 'latest'
// 版本,老版本,旧版本eslint不支持ec13
},
//parserOptions ESLint解析器解析代码时,可以指定用哪个js版本
//注意:这里是指定检查时按照那个js版本语法检查,但这里不包含全局变量
//全局变量需要通过前面的env节点设置
global:{
// '_':true,//可以读取,可以修改,不用定义也可以使用,可以直接使用
// '$':false,//可以读取,不可以修改
},
//global节点,手动配置全局成员,此节点需要手动添加,默认是没有的
plugins: [
'vue'
],
rules: {
}
/* 两种用法:
1、不适用extend节点配置整套的规范,而是在rules节点中直接配置
2、使用extend节点配置整套的规范,在rules节点中修改部分规范的配置
*/
}
//eslint加载优先级:js>yaml>json
//开发时,一般使用vue脚手架,内部webpack打包默认用的是CommonJs,所以ESLint配置文件应尽可能与它保持一致