一、安裝依賴
pnpm add -D eslint prettier eslint-plugin-vue vue-eslint-parser @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier eslint-plugin-prettier typescript-eslint
二、創建或修改 eslint.config.cjs
const vuePlugin = require('eslint-plugin-vue');
const js = require('@eslint/js');
const tseslint = require('typescript-eslint');
const pluginPrettier = require('eslint-plugin-prettier');module.exports = [js.configs.recommended,...tseslint.configs.recommended,{files: ['**/*.{vue,ts,tsx,js,jsx,cjs,mjs,mts,cts}'],ignores: ['**/dist','**/node_modules','**/public','**/build','**/.vite','**/.eslintrc.js','**/*.min.*'],plugins: {vue: vuePlugin},languageOptions: {parser: require('vue-eslint-parser'),parserOptions: {ecmaVersion: 2020,sourceType: 'module',parser: require('@typescript-eslint/parser'), vueFeatures: {filters: true,defaultLegacyBehavior: false}}},rules: {'no-undef': 'off','vue/no-unused-components': 'off','vue/multi-word-component-names': 'off','vue/require-default-prop': 'off','@typescript-eslint/no-require-imports': 'off','@typescript-eslint/no-unused-vars': 'warn','vue/v-on-style': ['warn', 'shorthand'],'vue/v-bind-style': ['warn', 'shorthand'],'vue/no-spaces-around-equal-signs-in-attribute': 'error'}},{files: ['**/*.{vue,ts,tsx,js,jsx,cjs,mjs,mts,cts}'],plugins: {prettier: pluginPrettier},rules: {'prettier/prettier': ['error']}},{rules: {'prefer-const': 'warn','no-console': ['warn', { allow: ['warn', 'error'] }],'no-debugger': 'error'}}
];
三、創建 .prettierrc 配置文件
{"printWidth": 100,"tabWidth": 2,"useTabs": false,"semi": true,"singleQuote": true,"quoteProps": "as-needed","jsxSingleQuote": false,"trailingComma": "none","bracketSpacing": true,"bracketSameLine": false,"arrowParens": "avoid","requirePragma": false,"insertPragma": false,"proseWrap": "preserve","htmlWhitespaceSensitivity": "css","vueIndentScriptAndStyle": false,"endOfLine": "auto","rangeStart": 0
}
四、添加 .prettierignore 忽略文件(可選)
/dist/*
/low-code-platform/*
.local
/node_modules/**
**/*.svg
**/*.sh
/public/*
stats.html
五、更新 package.json 添加腳本
{"scripts": {"lint": "eslint . --ext .ts,.vue,.js","lint:fix": "eslint . --ext .ts,.vue,.js --fix","format": "prettier --write .","format:check": "prettier --check ."}
}
六、VS Code 設置(推薦)
{"editor.formatOnSave": true,"editor.defaultFormatter": "esbenp.prettier-vscode","[vue]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[typescript]": {"editor.defaultFormatter": "esbenp.prettier-vscode"},"[javascript]": {"editor.defaultFormatter": "esbenp.prettier-vscode"}
}
七、驗證是否有效
pnpm run lint
pnpm run lint:fix
pnpm run format
pnpm run format:check
八、安裝vscode的插件


