module.exports = { root: true, env: { browser: true, node: true, es6: true, // 使用setup语法糖 'vue/setup-compiler-macros': true, }, extends: ['airbnb-base', 'plugin:import/recommended', 'plugin:vue/vue3-essential', 'plugin:vue/vue3-recommended', 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'], parser: 'vue-eslint-parser', parserOptions: { parser: '@typescript-eslint/parser', sourceType: 'module', }, plugins: ['vue', '@typescript-eslint'], rules: { 'import/extensions': [2, 'never', { 'web.js': 'never', json: 'never' }], '@typescript-eslint/no-explicit-any': ['off'], 'import/no-extraneous-dependencies': [2, { devDependencies: true }], 'import/no-unresolved': 'off', '@typescript-eslint/no-var-requires': 'off', 'prettier/prettier': 'off', singleQuote:false, semi:'never', 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', eqeqeq: 'off', // 要求使用 === 和 !== indent: ['error', 2, { SwitchCase: 1 }], // 缩进风格 'newline-after-var': 'error', // 变量声明后是否需要空一行 'no-eq-null': 'error', // 禁止对null使用==或!=运算符 'no-eval': 'warn', // 禁止使用eval 'no-var': 'error', 'no-multi-spaces': 'warn', // 不能用多余的空格 'no-trailing-spaces': 'warn', // 一行结束后面不要有空格 'no-undef': 'warn', // 不能有未定义的变量 'semi-spacing': 'error', // 强制分号后面有空格 '@typescript-eslint/semi': 'error', quotes: ['error', 'single'], 'arrow-spacing': 'error', // 要求箭头函数的=>前后有空格 }, };