.eslintrc.cjs文件
//@see https://eslint.bootcss.com/docs/rules/
module.exports = {
env:{
browser: true,
es2021:true,
node: true,
jest: true,
},
parser: 'vue-eslint-parser',
parserOptions:{
ecmaVersion:'latest',
sourceType:'module',
parser:'@typescript-eslint/parser',
jsxPragma:'React',
ecmaFeatures:{
jsx:true,
},
},
extends:[
'eslint:recommended',
'plugin:vue/vue3-essential',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended'
],
plugins:['vue','@typescript-eslint'],
rules:{
//eslint
'no-var':'error', //使用let或const而不是var
'no-multiple-empty-lines':['warn',{max:1}], //不允许多个空行
'no-console':process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger':process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-unexpected-multiline': 'error',
'no-useless-escape': 'off',
//typescript
'@typescript-eslint/no-unused-vars': 'error',
'@typescript-eslint/prefer-ts-expect-error':'error',
'@typescript-eslint/no-explicit-any':'off',
'@typescript-eslint/no-non-null-assertion':'off',
'@typescript-eslint/no-namespace':'off',
'@typescript-eslint/semi':'off',
//eslint-plugin-vue
'vue/multi-word-component-names':'off',
'vue/script-setup-uses-vars':'error',
'vue/no-mutating-props':'off',
'vue/attribute-hyphenation':'off'
},
}
eslint保证js语法正确,prettier保证代码好看,stylint处理格式化和校验CSS
安装stylint及其依赖命令:
pnpm add sass sass-loader stylelint postcss postcss-scss postcss-html stylelint-config-prettier stylelint-config-recess-order stylelint-config-recommended-scss stylelint-config-standard stylelint-config-standard-vue stylelint-scss stylelint-order stylelint-config-standard-scss -D