module.exports = { env: { browser: true, es2021: true, node: true, }, extends: [ 'eslint:recommended', 'plugin:vue/vue3-essential', 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended', ], overrides: [ { files: ['*.vue'], rules: { // 禁止使用未声明的变量 'no-undef': 'off', }, }, ], parser: 'vue-eslint-parser', parserOptions: { ecmaVersion: 'latest', parser: '@typescript-eslint/parser', sourceType: 'module', }, plugins: ['vue', '@typescript-eslint'], rules: { 'prettier/prettier': [{ useTabs: true, endOfLine: 'auto' }], // 禁止直接在对象上调用Object.prototype 'no-prototype-builtins': 'off', '@typescript-eslint/no-this-alias': ['off'], '@typescript-eslint/ban-types': [ 'error', { types: { // 不校验Function类型 Function: false, }, }, ], // Vue组件名必须为多个单词 'vue/multi-word-component-names': 'off', '@typescript-eslint/no-empty-function': 'off', 'no-useless-catch': 'off', 'no-useless-escape': 'off', }, };