module.exports = { root: true, parserOptions: { parser: '@babel/eslint-parser', ecmaVersion: 2020, sourceType: 'module' }, env: { browser: true, node: true, es6: true }, extends: [ 'plugin:vue/essential', 'eslint:recommended', 'plugin:prettier/recommended' // 必须放在最后,这样 Prettier 规则会覆盖 ESLint 的格式规则 ], rules: { // 将所有 Vue ESLint 规则降级为警告 'vue/no-use-v-if-with-v-for': 'warn', 'vue/return-in-computed-property': 'warn', 'vue/html-closing-bracket-newline': 'off', // 交给 Prettier 处理 'vue/attributes-order': 'warn', 'vue/html-indent': 'off', // 交给 Prettier 处理 'vue/no-spaces-around-equal-signs-in-attribute': 'off', // 交给 Prettier 处理 'vue/no-lone-template': 'warn', 'vue/component-tags-order': 'warn', 'vue/no-template-shadow': 'warn', 'vue/component-definition-name-casing': 'warn', 'vue/mustache-interpolation-spacing': 'off', // 交给 Prettier 处理 'vue/multi-word-component-names': 'warn', // 其他常见规则也设为警告 'no-console': 'off', // 开发调试需要,不限制 console 'no-debugger': 'warn', 'no-unused-vars': 'warn', // Prettier 规则 'prettier/prettier': ['warn', {}, { usePrettierrc: true }] } }