eslintrc.js

// https://eslint.org/docs/user-guide/configuring
module.exports = {
“root”: true,
“parser”: “babel-eslint”,
“parserOptions”: {
“ecmaVersion”: 7,
“ecmaFeatures”: {
“impliedStrict”: true
},
“sourceType”: “module”
},
“env”: {
//“es6”: true,
“browser”: true
//“node”:true
},
“plugins”: [
“html”
],
“globals”: {
//false不允许重写
“document”: false,
“navigator”: false,
“window”: false,
“require”: false,
“Promise”: false,
“module”: false,
“process”: false
},
//off 0 关闭规则
//warn 1 开启规则,使用警告
//error 2 开启规则,使用错误
“rules”: {
//这些规则与 JavaScript 代码中可能的错误或逻辑错误有关
“no-cond-assign”: [2, “always”], //“always” 禁止条件语句中出现赋值语句
“no-constant-condition”: [2, {
“checkLoops”: false
}], //禁止在条件中使用常量表达式
“no-control-regex”: 2,
“no-dupe-args”: 2, //禁止 function 定义中出现重名参数
“no-dupe-keys”: 2,
“no-duplicate-case”: 2,
“no-empty-character-class”: 2,
“no-empty”: [2, {
“allowEmptyCatch”: true
}],
“no-ex-assign”: 2, //禁止对 catch 子句的参数重新赋值
“no-extra-boolean-cast”: 2, //禁止不必要的布尔转换
“no-extra-semi”: 2, //禁止不必要的分号
“no-func-assign”: 2, //禁止对 function 声明重新赋值
“no-inner-declarations”: 2, //禁止在嵌套的块中出现变量声明或 function 声明
“no-invalid-regexp”: 2, //禁止 RegExp 构造函数中存在无效的正则表达式字符串
“no-irregular-whitespace”: 2, //禁止在字符串和注释之外不规则的空白
“no-obj-calls”: 2, //禁止把全局对象作为函数调用
“no-unexpected-multiline”: 1, //禁止出现令人困惑的多行表达式
“no-unreachable”: 2, //禁止在return、throw、continue 和 break 语句之后出现不可达代码
“no-unsafe-finally”: 2, //禁止在 finally 语句块中出现控制流语句
“use-isnan”: 2, //要求使用 isNaN() 检查 NaN
“valid-typeof”: 2, //强制 typeof 表达式与有效的字符串进行比较

	//这些规则是关于最佳实践的,帮助你避免一些问题:
	"accessor-pairs": 2, //强制 getter 和 setter 在对象中成对出现
	"array-callback-return": 2, //强制数组方法的回调函数中有 return 语句
	"block-scoped-var": 2, //强制把变量的使用限制在其定义的作用域范围内
	"class-methods-use-this": 2,
	//"complexity": [1, 2],//指定程序中允许的最大环路复杂度
	//"consistent-return": [1,{ "treatUndefinedAsUnspecified": true }], //要求 return 语句要么总是指定返回的值,要么不指定
	"default-case": [1, {
		"commentPattern": "^skip\\sdefault"
	}], //要求 switch 语句中有 default 分支
	//"eqeqeq": [1, "smart"], //
	"no-alert": 2,
	"no-caller": 2,
	"no-case-declarations": 2, //不允许在 case 子句中使用词法声明
	//"no-div-regex": 2, //禁止除法操作符显式的出现在正则表达式开始的位置
	"no-empty-function": 2, //
	"no-empty-pattern": 2, // 禁止使用空解构模式
	//"no-eq-null": 2, //禁止在没有类型检查操作符的情况下与 null 进行比较
	"no-eval": 2,
	"no-extend-native": 2,
	"no-extra-label": 2, //禁用不必要的标签
	"no-fallthrough": 1, //禁止 case 语句落空
	"no-global-assign": 2, //
	//"no-implied-eval": 2, //禁止使用类似 eval() 的方法
	//"no-invalid-this": 2, //禁止 this 关键字出现在类和类对象之外
	"no-iterator": 1, //禁用 __iterator__ 属性
	"no-labels": 2, //禁用标签语句
	"no-lone-blocks": 2,
	"no-loop-func": 2, //禁止在循环中出现 function 声明和表达式
	"no-multi-str": 1, //禁止使用多行字符串
	"no-new-func": 2, //
	"no-new-wrappers": 2, //
	"no-new": 2, //
	"no-octal-escape": 2, //
	"no-octal": 2, //
	//"no-param-reassign": 2, //
	"no-proto": 2, //
	"no-redeclare": 2, //
	"no-return-assign": 2, //禁止在 return 语句中使用赋值语句
	"no-script-url": 2, //禁止使用 javascript: url
	"no-self-assign": 2,
	"no-self-compare": 2,
	"no-sequences": 2, //禁用逗号操作符
	"no-throw-literal": 2, //
	"no-unmodified-loop-condition": 2,
	"no-unused-expressions": [2, {
		"allowShortCircuit": true,
		"allowTernary": true
	}], //允许处理逻辑短路
	"no-unused-labels": 2,
	"no-useless-call": 2,
	"no-useless-concat": 2, //禁止不必要的字符串字面量或模板字面量的连接
	"no-useless-escape": 2, //禁用不必要的转义字符
	"no-void": 2,
	"no-warning-comments": 2,
	"no-with": 2,
	"radix": 2, //强制在parseInt()使用基数参数

	//这些规则与变量声明有关
	"no-catch-shadow": 2,
	"no-delete-var": 2,
	"no-label-var": 2,
	"no-restricted-globals": 2, //禁用特定的全局变量
	"no-shadow-restricted-names": 2, //禁止覆盖受限制的标识符
	"no-shadow": [2, {
		"builtinGlobals": false,
		"hoist": "functions",
		"allow": ["state"]
	}], //禁止变量声明与外层作用域的变量同名
	"no-undef": 2, //禁用未声明的变量,除非它们在 /*global */ 注释中被提到
	// "no-undefined": 2,
	"no-unused-vars": 2,
	"no-use-before-define": 2,
	"curly": [2, 'all'],

	//风格指南
	"brace-style": [2, "1tbs", {
		"allowSingleLine": true
	}], // 强制 one true brace style
	//"camelcase": [1, {
	//  "properties": "always"
	//}],
	"comma-dangle": [2, "never"],
	"comma-style": [2, "last"],
	// "eol-last": [2, "never"], //要求或禁止文件末尾存在空行
	"func-names": [2, "never"], //要求或禁止使用命名的 function 表达式
	"indent": [2, "tab", {
		"SwitchCase": 1
	}],
	"key-spacing": 2,
	"no-mixed-spaces-and-tabs": 2,
	"no-whitespace-before-property": 2, //禁止属性前有空白

	"array-bracket-spacing": [2, "never"], //中括号这两边不带空白
	"block-spacing": [2, "always"], //左花括号和同一行上的下一个 token 之间有一致的空格
	"comma-spacing": [2, {
		"before": false,
		"after": true
	}], //逗号前不留空格,逗号后留一空格
	"computed-property-spacing": [2, "never"], //禁止括号和其内部值之间的空格
	"func-call-spacing": [2, "never"], //禁止在函数名和开括号之间有空格
	"keyword-spacing": [2, {
		"before": true
	}], // 要求在关键字之前至少有一个空格
	"object-curly-spacing": [2, "never"], //不允许花括号中有空格
	"semi-spacing": [2, {
		"before": false,
		"after": true
	}], //强制分号后有空格
	"space-before-blocks": [2, "always"], //要求语句块之前的空格
	"space-before-function-paren": [2, "never"], //禁止在参数的 ( 前面有空格。
	"space-in-parens": [2, "never"], // 强制圆括号内没有空格
	"space-infix-ops": [2, {
		"int32Hint": true
	}], //要求中缀操作符周围有空格
	"space-unary-ops": [2, {
		"words": true,
		"nonwords": false,
		"overrides": {
			"new": false
		}
	}],
	// "switch-colon-spacing": [2, {"after": true, "before": false}],
	"template-tag-spacing": [2, "always"],
	"semi": [2, "never"], //语句强制不要分号结尾

	//ECMAScript 6
	"arrow-body-style": [0, "as-needed"],
	"arrow-spacing": [2, {
		"before": true,
		"after": true
	}],
	"rest-spread-spacing": [2, "never"],
	"template-curly-spacing": [2, "never"],
	"yield-star-spacing": [2, "after"],
	"constructor-super": 2,
	"no-class-assign": 2, //不允许修改类声明的变量
	"no-const-assign": 2, //禁止修改 const 声明的变量
	"no-dupe-class-members": 2, //禁止类成员中出现重复的名称
	// allow debugger during development
	"no-debugger": process.env.NODE_ENV === 'production' ? 1 : 0,
	"no-console": process.env.NODE_ENV === 'production' ? 1 : 0
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值