module.exports = { parser: "babel-eslint", extends: "standard", env: { browser: true, commonjs: true, es6: true, node: true }, parserOptions: { // 来启用ES6语法支持 ecmaVersion: 6, sourceType: 'module', ecmaFeatures: { jsx: true, legacyDecorators: true } }, "settings": { "react": { "version": "16.0" } }, plugins: [ 'react' ], globals: { }, rules: { 'camelcase': [1, { 'properties': 'never' }], 'indent': ["error", 4, { "SwitchCase": 0 }], // 单引号 'quotes': ['error', 'single'], // [警告]要使用分号 'semi': ["warn", "always"], // [报错]方法声明的方法名与圆括号之间不空格 'space-before-function-paren': ["error", { "anonymous": "always", "named": "never", "asyncArrow": "always" }], // jsx 内部使用单引号 'jsx-quotes': ["error", "prefer-single"], // react通过jsx引用组件提示变量定义未使用 'react/jsx-uses-vars': 'error', 'react/jsx-tag-spacing': [ 'error', { closingSlash: 'never', beforeSelfClosing: 'always', afterOpening: 'never' } ], "react/jsx-uses-react": 1, //防止 React 被错误地标记为未使用 "react/jsx-key": 'error', //在数组或迭代器中验证JSX具有key属性 "react/jsx-no-duplicate-props": 'error', "react/no-deprecated": 'error', //不使用弃用的方法 "react/jsx-equals-spacing": 'error', //在JSX属性中强制或禁止等号周围的空格 "react/self-closing-comp": 'error', //防止没有children的组件的额外结束标签 "react/react-in-jsx-scope": 'error', //使用JSX时防止丢失React "react/no-direct-mutation-state": 'error', //防止this.state的直接变异 "newline-after-var": 2,//变量声明后是否需要空一行 'react/jsx-curly-spacing': 'error',// 大括号不要空格 'react/no-string-refs': 'error', // 推荐用 ref callback 函数 'react/jsx-closing-bracket-location': 'error', // 多行属性,用他的闭合标签单独作为结束行 'react/jsx-pascal-case': 'error', // React模块名使用帕斯卡命名,实例使用骆驼式命名 'lines-between-class-members': ["error", "always"], // 类成员之间的空行 'no-multiple-empty-lines': 0, 'no-multi-spaces': 0, 'standard/object-curly-even-spacing': 0, 'object-curly-spacing': 0, 'no-trailing-spaces': 0, 'newline-after-var': 0, 'keyword-spacing': 0, 'padded-blocks': 0, 'indent': 0, 'react/jsx-closing-bracket-location': 0, 'semi': 0, 'eol-last': 0, 'react/jsx-tag-spacing': 0, 'space-infix-ops': 0, "react/no-did-mount-set-state": 0, //防止在componentDidMount中使用setState "react/no-did-update-set-state": 1, //防止在componentDidUpdate中使用setState "react/no-array-index-key": 0, //防止在数组中遍历中使用数组key做索引 "react/no-multi-comp": 'error', //防止每个文件有多个组件定义 } };