{ // "extends": "eslint-config-umi", //基础扩展自airbnb "extends": "airbnb", //解析器babel "parser": "babel-eslint", "parserOptions": { // ECMAScript版本,6为ES6 "ecmaVersion": 6, //默认script,如果代码是ECMAScript模块,设置为module "sourceType": "module", // 使用额外的语言特性 "ecmaFeatures": { // 启用JSX "jsx": true } }, "settings": { //相对路径解析,按webpack的alias "import/resolver": { // This config is used by eslint-import-resolver-webpack "webpack": { "config": "./webpack.config.js" } } }, // 指定脚本的运行环境。每种环境都有一组特定的预定义全局变量 "env": { "es6": true, "node": true, "browser": true }, // 脚本在执行期间访问的额外的全局变量 "globals": { "document": true, "navigator": true, "window": true, "node": true }, //支持react、jsx、import规则 "plugins": ["react", "jsx-a11y", "import"], //定制化规则 "rules": { //缩进4个空格 "indent": ["error", 4], //关闭强制驼峰法命名 "camelcase": "off", //强制箭头函数中一致使用圆括号 "arrow-parens": ["error", "always"], //强制在箭头函数体的周围使用大括号 "arrow-body-style": ["error", "always"], //关闭label标签具有文本标签和关联的控件 "jsx-a11y/label-has-associated-control": "off", // 关闭react默认的props-type验证 "react/prop-types": "off", //jsx标签缩进4个空格 "react/jsx-indent": ["error", 4], //jsx组件props缩进4个空格 "react/jsx-indent-props": ["error", 4] } }