前端开发规范。

# 前端规范

# Vue 版本

# vue.onfig.js

  • 雪碧图、SVG
  • 拆包
  • 别名

# JS 编译器

# Hooks 钩子

# ESLint 规则

# 目录


├─public                      // 非编译
│  iconfont
├─src                         // 源码
│ │  App.vue
│ │  main.js                  // VUE 入口
│ ├─assets                    // 资源库
│ │ ├─sprites                 // 雪碧图
│ │ │ ├─png
│ │ │ └─svg
│ │ ├─images                  // 图片
│ │ │ └─logo.png
│ │ ├─audios                  // 音频
│ │ │ └─alert.mp3
│ │ ├─style                   // 公共样式
│ │ │ └─index.scss
│ │ └─themes                  // 皮肤
│ │   └─index.scss
│ ├─common                    // 通用
│ │ ├─modules                 // 模块
│ │ ├─bus                     // bus
│ │ ├─request                 // axios、fetch封装
│ │ ├─api                     // API 接口
│ │ ├─mixin                   // mixin
│ │ └─utils                   // 工具库
│ ├─components                // 公共组件
│ │ ├─base                    // 基础组件
│ │ │ └─SvgIcon.vue
│ │ └─map                     // 地图组件
│ │   index.js
│ ├─router                    // 路由
│ │ └─modules
│ │   index.js
│ ├─store                     // 状态管理
│ │ └─modules
│ │   ├─ui.js                 // themes 及 样式变量
│ │   └─map.js                // 地图相关
│ │   index.js
│ └─views                     // 视图
│   └─home                    // 主模块
│     └─modules               // 此主模块的子模块
│     index.vue
├─.editorconfig               // 编辑器配置
├─.gitignore                  // git 忽略配置
├─babel.config.js             // 编译配置
├─package-lock.json           // 非编译文件夹
├─package.json                // 项目依赖、公共配置等
└─README.md                   // 项目说明

# 名称

  • 不能用拼音
  • 文件夹:全小写+中杠 比如: mti-gis
  • 文件:
    • js: 小驼峰 比如:helloWorld.js
    • vue: 大驼峰 比如:HelloWorld.vue
    • css: 小驼峰 比如:helloWorld.css
    • 图片:全小写+下划线 比如:icon_title_hl.png
  • CSS样式:全小写+中杠 比如: .list-item #list-item
  • js 变量:小驼峰

# main.js

  • 引用 modules.js
  • $bus
  • $utils (cookie、base64)
  • $api

# Git提交规范

  • git commit提交格式(注意冒号后面有空格)
  • :
  • 常用的type类别
  • feat:新功能(feature)
  • fix:修补bug
  • perf: 性能优化
  • docs:文档(documentation)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • test:增加测试
  • 例子:如:feat: 已动词开头,包含功能模块名称
  • git commit -m 'feat: 增加 xxx 功能'
  • git commit -m 'fix: 修复 # bug编号'

# 注释规范

/**
 * 功能介绍
 * @author <作者> [<邮箱可选>]
 * @param {类型} 参数名 描述.
 * @param {string} name=alice 姓名(默认alice).
 * @param {object} option 配置信息.
 * @param {nameCallback} cb 回调函数.
 * @return {Number} 描述
 */
function name (name, option, cb) {
   return 1
}
/**
 * 回调介绍
 * @callback nameCallback
 * @param {object} err 错误信息
 * @param {Number} num 参数
 */