eslint规范详解

本文介绍了作者在长期开发Vue项目中使用的eslint规范,旨在确保代码一致性,避免逻辑错误,提高代码可读性和便于后期维护。这套规范考虑了避免引发逻辑错误、减少他人误解以及摒弃过时的编码方式。
摘要由CSDN通过智能技术生成

eslint规范

这套规范是我长期开发vue时,使用的一套代码约束规范,个人用着还是很舒服的,和以前的编码习惯没有太多的冲突,
本人主要是从下列几个方向出发,来约束代码,当多人参与项目开发时,规范风格能保持一致,可以省去不少麻烦。

  • 可能引发逻辑错误
  • 他人误解,代码可读性
  • 后期维护,摒弃过时的书写方式
// https://eslint.org/docs/user-guide/configuring

module.exports = {
   
  //此项是用来告诉eslint找当前配置文件不能往父级查找
  root: true,
  parserOptions: {
   
    //此项是用来指定eslint解析器的,解析器必须符合规则,babel-eslint解析器是对babel解析器的包装使其与ESLint解析
    parser: 'babel-eslint',
    //此项是用来指定javaScript语言类型和风格,sourceType用来指定js导入的方式,默认是script,此处设置为module,指某块导入方式
    // sourceType: 'module'
  },
  //此项指定环境的全局变量,下面的配置指定为浏览器环境或Node.js
  env: {
   
    // browser: true,
    node:true
  },
  // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
  // 此项是用来配置标准的js风格,就是说写代码的时候要规范的写,如果你使用vs-code我觉得应该可以避免出错
  extends: [
    // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
    // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
    'plugin:vue/essential',
    // https://github.com/standard/standard/blob/master/docs/RULES-en.md
    'standard'
  ],
  // required to lint *.vue files
  // 此项是用来提供插件的,插件名称省略了eslint-plugin-,下面这个配置是用来规范vue || html的
  plugins: [
    'vue'
  ],
  // 下面这些rules是用来设置从插件来的规范代码的规则,使用必须去掉前缀eslint-plugin-
  // 主要有如下的设置规则,可以设置字符串也可以设置数字,两者效果一致
  // "off" -> 0 关闭规则
  // "warn" -> 1 开启警告规则
  //"error" -> 2 开启错误规则
  rules: {
   
    // allow async-await
    'generator-star-spacing': 'off',//生成器函数*的前后空格
    'block-spacing':0, //Requires a space before or after '{'
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',//生产环境不允许使用debugger
    'no-unused-vars': [0, {
   'vars': 'local', 'args': 'none'}],// 允许声明未使用变量、 参数不检查
    //'no-unused-vars': [2, {'vars': 'all', 'args': 'after-used'}],//不能有声明后未被使用的变量或参数
    'semi': [0],// 关闭语句强制分号结尾
    'key-spacing': [0, {
   'beforeColon': false, 'afterColon': true}],//对象字面量中冒号的前后空格
    'no-multiple-empty-lines': [2, {
   'max': 1}],
    // 'key-spacing': [0, {'singleLine': {'beforeColon': false,'afterColon': true},'multiLine': {'beforeColon': true,'afterColon': true,'align': 'colon'}}],//key值前面是否要有空格
    'keyword-spacing':0,//空行最多不能超过1行
    'no-mixed-spaces-and-tabs': [0],//关闭禁止混用tab和空格
    'indent': 0,//缩进风格:数组第一个指定是否启用这个规则,第二个指定几个空格
    'no-alert': 0,//禁止使用alert confirm prompt
    'no-array-constructor': 2,//禁止使用数组构造器
    'no-bitwise': 0,//禁止使用按位运算符
    'no-caller': 1,//禁止使用arguments.caller或arguments.callee
    'no-catch-shadow': 2,//禁止catch子句参数与外部作用域变量同名
    'no-class-assign': 2,//禁止给类赋值
    'no-cond-assign': 2,//禁止在条件表达式中使用赋值语句
    'no-console': 0,//禁止使用console
    'no-const-assign': 2,//禁止修改const声明的变量
    'no-constant-condition': 2,//禁止在条件中使用常量表达式 if(true) if(1)
    'no-continue
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值