module.exports = {
extends: [
'plugin:vue/recommended'
],
parserOptions: {
'ecmaVersion': 2018,
'sourceType': 'module',
'ecmaFeatures': {
'jsx': true
},
'allowImportExportEverywhere': false
},
rules: {
"no-alert": 0,
// 分号
"semi": ['error', 'never'],
// 使用单引号
"quotes": ['error', 'single', { allowTemplateLiterals: true }],
// 缩进
'indent': ['error', 4, { SwitchCase: 1, flatTernaryExpressions: true }],
// 禁用不必要的分号
'no-extra-semi': 'error',
// 大括号
'brace-style': ['error', '1tbs', { allowSingleLine: false }],
// 数组空格
'array-bracket-spacing': ['error', 'never'],
'object-curly-spacing': ['error', 'always', { objectsInObjects: false }],
// 换行符
'operator-linebreak': ['error', 'before'],
// 禁止空语句,允许空的catch语句
'no-empty': ['error', { allowEmptyCatch: true }],
// 函数圆括号之前有一个空格
'space-before-function-paren': [
'error',
{
anonymous: 'always', // 匿名函数表达式
named: 'always', // 命名的函数表达式
asyncArrow: 'always' // 异步的箭头函数表达式
}
],
// 禁止行尾空格
'no-trailing-spaces': [
'error',
{
skipBlankLines: true // 允许在空行使用空白符
}
],
'vue/html-indent': [
'error',
4,
{
attribute: 1,
baseIndent: 1,
closeBracket: 0,
alignAttributesVertically: false,
ignores: []
}
],
'spaced-comment': [
'error',
'always',
{
line: {
markers: ['*package', '!', '/', ',', '=']
},
block: {
// 前后空格是否平衡
balanced: false,
markers: ['*package', '!', ',', ':', '::', 'flow-include'],
exceptions: ['*']
}
}
],
// 行尾逗号
'comma-dangle': [
'error',
{
arrays: 'never',
objects: 'never',
imports: 'never',
exports: 'never',
functions: 'never'
}
],
'quote-props': ['error', 'as-needed'],
// 括号内的间隔
'space-in-parens': ['error', 'never'],
// 不允许多个空格
'no-multi-spaces': ['error', { ignoreEOLComments: true }],
// 对象键值间距
'key-spacing': ['error', { mode: 'strict' }],
// 等号左右空格
'space-infix-ops': ['error', { int32Hint: false }],
// 箭头函数括号
'arrow-parens': ['error', 'as-needed'],
// 逗号后空格
'comma-spacing': ['error', { before: false, after: true }],
// key
'vue/require-v-for-key': 'error',
// v-if v-for
'vue/no-use-v-if-with-v-for': [
0,
{
allowUsingIterationVar: false
}
],
// 允许props修改
'vue/no-mutating-props': 0,
// 组件顺序
'vue/order-in-components': [
'error',
{
order: [
'el',
'name',
'parent',
'functional',
['delimiters', 'comments'],
['components', 'directives', 'filters'],
'extends',
'mixins',
'inheritAttrs',
'model',
['props', 'propsData'],
'data',
'computed',
'watch',
'LIFECYCLE_HOOKS',
'methods',
['template', 'render'],
'renderError'
]
}
],
// 不允许多个空格
'vue/no-multi-spaces': [
'error',
{
ignoreProperties: false
}
],
// 不允许在属性的等号周围有空格
'vue/no-spaces-around-equal-signs-in-attribute': ['error'],
// 在{{ value }}插值中加强统一的间距
'vue/mustache-interpolation-spacing': ['error', 'always'],
// 关闭组件未使用提示
'vue/no-unused-components': 0,
'vue/no-unused-vars': 0,
'no-unused-vars': 0
}
}
vue-eslintrc.js
最新推荐文章于 2024-09-24 10:01:00 发布