HBuilderX配置自动格式化,统一代码规范

1、前言


团队协作是稍具规模公司必不可少的问题,也是项目开发进度保证的重要基石。只有团队协作,各自的功力发挥到极致,才能保证团队生产力最大化。随着团队增加,统一的代码风格就越来越重要,为此使用 HBuilderX 配置自动格式化,统一代码规范。

2、代码风格


  • 整体风格
    • javascript大体上遵循[这里是代码002]规范
    • htmlwxml大体上遵循[这里是代码005]规范
  • javascript细节调整
    • 结尾无分号
    • 超过 140 个字符换行
    • 使用单引号
    • 无尾随逗号
    • 箭头函数单个参数不加分号
    • 函数声明时禁止圆括号前有空格

3、准备插件


HBuilderX配置自动格式化,统一代码规范_第1张图片

  • [这里是代码007] 用于校验 js 和 html 中的 js 代码
  • [这里是代码008]vue 语法校验和语法提示

4、个性化配置


1. 打开方式
  • 工具 -> 插件安装 -> 已安装插件[插件名称] -> 配置

HBuilderX配置自动格式化,统一代码规范_第2张图片

2. 个性化配置,具体操作步骤配置在底下参考资料
  • eslint-js在.eslintrc.js添加规则

    // 详细配置教程请参考:http://eslint.cn/docs/user-guide/configuring
    module.exports = {
    “plugins”: [
    “html”
    ],
    “parserOptions”: {
    “ecmaVersion”: 2018,
    “sourceType”: “module”,
    “ecmaFeatures”: {
    “jsx”: true
    },
    “allowImportExportEverywhere”: false
    },
    “rules”: {
    “no-alert”: 0,
    “eqeqeq”: [“error”, “always”], // 用强等于做判断
    “semi”: [“error”, “never”], // 结尾不分号
    “no-multi-spaces”: “error”,
    “quotes”: [“error”, “single”], // 使用单引号
    “arrow-parens”: [“error”, “as-needed”], // 简略箭头函数
    “object-curly-newline”: [“error”, { “multiline”: true }], // 在属性内部或属性之间有换行符,就要求有换行符
    “object-curly-spacing”: [“error”, “always”] // 要求花括号内有空格 (除了 {})
    }
    };

  • eslint-vue在.eslintrc.js添加规则

    module.exports = {
    ‘extends’: ‘plugin:vue/essential’,
    ‘parserOptions’: {
    ecmaVersion: 2018,
    sourceType: ‘module’
    },
    ‘rules’: {
    ‘no-alert’: 0,
    ‘eqeqeq’: [‘error’, ‘always’], // 用强等于做判断
    ‘semi’: [‘error’, ‘never’], // 结尾不分号
    ‘no-multi-spaces’: ‘error’,
    ‘quotes’: [‘error’, ‘single’], // 使用单引号
    ‘arrow-parens’: [‘error’, ‘as-needed’], // 简略箭头函数
    ‘object-curly-newline’: [‘error’, {
    ‘multiline’: true
    }], // 在属性内部或属性之间有换行符,就要求有换行符
    ‘object-curly-spacing’: [‘error’, ‘always’], // 要求花括号内有空格 (除了 {})
    //在computed properties中禁用异步actions
    ‘vue/no-async-in-computed-properties’: ‘error’,
    //不允许重复的keys
    ‘vue/no-dupe-keys’: ‘error’,
    //不允许重复的attributes
    ‘vue/no-duplicate-attributes’: ‘warn’,
    //在 标签下不允许解析错误
    ‘vue/no-parsing-error’: [‘error’, {
    ‘x-invalid-end-tag’: false,
    }],
    //不允许覆盖保留关键字
    ‘vue/no-reserved-keys’: ‘error’,
    //强制data必须是一个带返回值的函数
    // ‘vue/no-shared-component-data’: ‘error’,
    //不允许在computed properties中出现副作用。
    ‘vue/no-side-effects-in-computed-properties’: ‘error’,
    //不允许key属性
    ‘vue/no-template-key’: ‘warn’,
    //在 中不允许mustaches
    ‘vue/no-textarea-mustache’: ‘error’,
    //不允许在v-for或者范围内的属性出现未使用的变量定义
    ‘vue/no-unused-vars’: ‘warn’,
    //标签需要v-bind:is属性
    ‘vue/require-component-is’: ‘error’,
    // render 函数必须有一个返回值
    ‘vue/require-render-return’: ‘error’,
    //保证 v-bind:key 和 v-for 指令成对出现
    ‘vue/require-v-for-key’: ‘error’,
    // 检查默认的prop值是否有效
    ‘vue/require-valid-default-prop’: ‘error’,
    // 保证computed属性中有return语句
    ‘vue/return-in-computed-property’: ‘error’,
    // 强制校验 template 根节点
    ‘vue/valid-template-root’: ‘error’,
    // 强制校验 v-bind 指令
    ‘vue/valid-v-bind’: ‘error’,
    // 强制校验 v-cloak 指令
    ‘vue/valid-v-cloak’: ‘error’,
    // 强制校验 v-else-if 指令
    ‘vue/valid-v-else-if’: ‘error’,
    // 强制校验 v-else 指令
    ‘vue/valid-v-else’: ‘error’,
    // 强制校验 v-for 指令
    ‘vue/valid-v-for’: ‘error’,
    // 强制校验 v-html 指令
    ‘vue/valid-v-html’: ‘error’,
    // 强制校验 v-if 指令
    ‘vue/valid-v-if’: ‘error’,
    // 强制校验 v-model 指令
    ‘vue/valid-v-model’: ‘error’,
    // 强制校验 v-on 指令
    ‘vue/valid-v-on’: ‘error’,
    // 强制校验 v-once 指令
    ‘vue/valid-v-once’: ‘error’,
    // 强制校验 v-pre 指令
    ‘vue/valid-v-pre’: ‘error’,
    // 强制校验 v-show 指令
    ‘vue/valid-v-show’: ‘error’,
    // 强制校验 v-text 指令
    ‘vue/valid-v-text’: ‘error’,
    ‘vue/comment-directive’: 0
    }
    };

  • tab键补全

    工具 -> 设置 -> 编辑器配置里选中 tab键自动插入代码助手选中项

HBuilderX配置自动格式化,统一代码规范_第3张图片

  • 设置缩进长度为2

    工具 -> 设置 -> 常用配置 -> 制表符长度 改为 2

HBuilderX配置自动格式化,统一代码规范_第4张图片

  • 解构赋值不将大括号换行

    工具 -> 设置 -> 插件配置 -> 自定义jsbeautify格式化规则的jsbeautifyrc.js中将 “brace_style"选项添加"preserve-inline”

HBuilderX配置自动格式化,统一代码规范_第5张图片

参考资料

  • eslint-js 简介
  • eslint-vue 简介
  • 记录 hbuilder 中 jsbeautifyrc 设置格式化时保留大括号{}不换行格式

你可能感兴趣的:(前端,html,代码规范,vue.js,javascript)