下载依赖
pnpm add prettier eslint eslint-plugin-prettier eslint-plugin-vue eslint-define-config eslint-config-prettier -D
配置.eslintrc.js
module.exports = {
root: true,
parser: 'vue-eslint-parser',
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
env: {
browser: true,
node: true,
},
globals: {
process: true,
require: true,
},
extends: [
'eslint:recommended',
'plugin:vue/vue3-essential',
'plugin:prettier/recommended',
'./.eslintrc-auto-import.json',
],
plugins: ['vue'],
rules: {
'import/no-webpack-loader-syntax': 'off',
'space-before-function-paren': 'off',
'no-multi-spaces': 'off',
'comma-spacing': 'off',
'no-unused-vars': 'warn',
'quote-props': 'off',
'prefer-const': 'warn',
'spaced-comment': 'off',
eqeqeq: 'warn',
'vue/no-v-for-template-key': 'off',
'prettier/prettier': ['error', { endOfLine: 'auto' }],
'vue/multi-word-component-names': 'off',
},
}
配置 prettier.config.js
module.exports = {
printWidth: 100,
tabWidth: 2,
useTabs: false,
semi: false,
vueIndentScriptAndStyle: true,
singleQuote: true,
quoteProps: 'as-needed',
bracketSpacing: true,
trailingComma: 'es5',
jsxBracketSameLine: false,
jsxSingleQuote: false,
arrowParens: 'always',
insertPragma: false,
requirePragma: false,
proseWrap: 'never',
htmlWhitespaceSensitivity: 'strict',
endOfLine: 'auto',
rangeStart: 0,
}