module.exports = { env: { browser: true, node: true, es2021: true }, parser: 'babel-eslint', extends: [ 'eslint:recommended', 'plugin:react/recommended' ], parserOptions: { ecmaFeatures: { 'jsx': true }, ecmaVersion: 12, sourceType: 'module' }, plugins: [ 'react' ], rules: { 'indent': ['error',2], 'quotes': ['warn','single'], 'semi': ['off','never'], // 控制逗号前后的空格 "comma-spacing": [2, { "before": false, "after": true }], // 禁止修改 const 声明的变量 'no-const-assign': 2, // 要求使用 const 声明那些声明后不再被修改的变量 'prefer-const': 0, 'react/react-in-jsx-scope': 1, // 要求使用class类创建组件,而非使用React.createClass创建 'react/prefer-es6-class': 1, // 要求没有使用 state、 refs的组件使用函数式组件, 'react/prefer-stateless-function': 1, // 组件用大驼峰,组件的实例用小驼峰 'react/jsx-pascal-case': 1, // 如果你的组件有多行属性(多行对齐),用他的闭合标签单独作为结束行 'react/jsx-closing-bracket-location': 1, // 关闭标签应该在下一行 'react/jsx-closing-tag-location': 1, 'jsx-quotes': 1, // 在自闭和标签内空一格 'no-multi-spaces': 1, 'react/jsx-tag-spacing': 1, // 不要在JSX {} 引用括号里两边加空格 'react/jsx-curly-spacing': 1, // 如果属性值为 true, 可以直接省略 'react/jsx-boolean-value': 1, // 在Refs里使用回调函数,而非字符串 'react/no-string-refs': 2, // 当 JSX 标签有多行时,用圆括号包起来 'react/jsx-wrap-multilines': 2, // 当没有子元素时,最好用自闭合标签 'react/self-closing-comp': 1, // 在构造函数里绑定事件处理函数 'react/jsx-no-bind': 2, // 确保render函数有返回值 'react/require-render-return': 2, // 创建React组件时,始终遵循同一组织进行方法排序会更方便,以帮助您轻松地找到生命周期方法,事件处理程序等 'react/sort-comp': 1 } }