统一编辑器的处理规则,以免多人项目习惯不同导致不同的基本代码规范不同,项目目录下创建文件 .editorconfig 输入如下配置代码
root = true
[*]
charset = utf-8 //字符编码格式
indent_style = space //缩进风格,space表示基于空格做缩进
indent_size = 2 //缩进大小,2表示缩进2个单位
end_of_line = lf //换行符风格,lf表示linux和Mac换行风格
insert_final_newline = true //当创建文件时是否自动在文件末尾添加一个新行,true表示自动添加
trim_trailing_whitespace = true //是否自动移除行尾多余空格,true表示自动移除
项目目录下创建文件 .eslintrc.js 输入如下配置代码
// https://eslint.org/docs/user-guide/configuring
module.exports = {
root: true,
// parser: 'babel-eslint',
parserOptions: {
parser: 'babel-eslint',
sourceType: 'module'
},
env: {
browser: true,
es6: true,
node: true
},
// https://github.com/standard/standard/blob/master/docs/RULES-en.md
extends: [
'eslint:recommended',
"plugin:vue/recommended"
],
// required to lint *.vue files
plugins: [
// 'html',
'vue'
],
// add your custom rules here
rules: {
'no-console': 'off',
'indent': [1, 2],//缩进
'generator-star-spacing': 'off',
'no-mixed-operators': 0,
"key-spacing": [1, { "beforeColon": false, "afterColon": true }],//对象字面量中冒号的前后空格
'no-empty': 0,
"no-unused-vars": [
1,
{
"vars": "all",
"args": "none",
"ignoreRestSiblings": false
}
],
"object-curly-spacing": [
1,
"always",
{
"arraysInObjects": false,
"objectsInObjects": false
}
],//大括号内是否允许不必要的空格
'vue/max-attributes-per-line': [
0,
{
'singleline': 5,
'multiline': {
'max': 1,
'allowFirstLine': false
}
}
],
'vue/html-indent': [1, 2],
'vue/attribute-hyphenation': 0,
'vue/html-self-closing': 0,
'vue/component-name-in-template-casing': 0,
'vue/html-closing-bracket-spacing': 0,
'vue/singleline-html-element-content-newline': 0,
'vue/no-unused-components': 0,
'vue/multiline-html-element-content-newline': 0,
'vue/no-use-v-if-with-v-for': 0,
'vue/html-closing-bracket-newline': 0,
'vue/no-parsing-error': 0,
'no-tabs': 0,
'quotes': [
2,
'single',
{
'avoidEscape': true,
'allowTemplateLiterals': true
}
],
'semi': [
1,
'never'
],
'no-delete-var': 2,
'prefer-const': [
1,
{
'ignoreReadBeforeAssign': false
}
],
'comma-spacing': [1, { 'before': false, 'after': true }],
"comma-style": [1, "last"], //逗号风格,换行时在行首还是行尾
"comma-dangle": [1, "never"], //对象字面量项尾不能有逗号
'eqeqeq': [2, 'allow-null'], // 必须使用全等
"space-before-function-paren": [1, "always"],//函数定义时括号前面要不要有空格
// allow async-await
'generator-star-spacing': 'off',
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
}
}
配置忽略校验文件, 创建 .eslintignore 文件, 输入要忽略检查的文件, 例如
/build/
/config/
/dist/
/*.js
/test/unit/coverage/
/src/icons/iconfont.js
// 解释意思 build/*.js 表示忽略build目录下类型为js的文件的语法检查