module.exports = { root: true, env: { node: true, }, extends: ['plugin:vue/strongly-recommended', '@vue/standard'], rules: { 'max-len': [ 1, { code: 200, // 单行最大长度200,字符串,正则,注释除外 ignoreStrings: true, ignoreTemplateLiterals: true, ignoreRegExpLiterals: true, ignoreComments: false, }, ], 'comma-dangle': [2, 'always-multiline'], // 尾随逗号 quotes: [2, 'single', { avoidEscape: true, allowTemplateLiterals: true }], // 字符串单引号 semi: [2, 'always', { omitLastInOneLineBlock: true }], // 尾随分号 'no-console': process.env.NODE_ENV === 'production' ? 2 : 0, 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, 'generator-star-spacing': 2, // generater函数标识*两侧必须空格隔开 'no-mixed-operators': 0, // 逻辑运算符允许混合使用 && || 'no-unused-vars': [2, { args: 'none' }], // 已声明变量必须在使用中,函数参数除外 'prefer-const': 2, 'template-curly-spacing': [2, 'always'], // 模版字符串单行空格 indent: [2, 2], // 缩进两空格 'lines-between-class-members': 0, 'vue/component-name-in-template-casing': 2, // 自定义组件名大驼峰 'vue/html-self-closing': 0, // 标签无需自动闭合为单标签 'vue/html-closing-bracket-newline': 2, // 多属性标签结束箭头独占一行 'vue/multi-word-component-names': [2, { ignores: ['index', 'Index'] }], // 组件名称大驼峰 'vue/no-unused-components': 2, // 局部注册组件必须在使用中 'vue/max-attributes-per-line': 2, // 标签单行属性数量限制,默认1 'vue/attribute-hyphenation': 0, // 自定义组件的属性不强制使用-分割的连字符 'vue/no-use-v-if-with-v-for': 0, // v-if和v-for可以共存 'vue/singleline-html-element-content-newline': 2, // 标签内容换行 'vue/multiline-html-element-content-newline': 2, 'vue/no-parsing-error': 2, // 语法错误提示 'vue/html-indent': [2, 2], // 缩进两空格 'vue/no-mutating-props': 0, // 可以修改prop对象参数的属性 }, parserOptions: { parser: '@babel/eslint-parser', }, overrides: [ { files: [ '**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)', ], env: { jest: true }, }, ], };