裴大头-秦可爱

裴大头-秦可爱

Vue项目代码规范

发表于 2021-09-30
裴大头
阅读量 1925
更新于 2021-10-18

::: hljs-center

width: 200px

:::

一、 项目目录篇

├── dist                          生成打包后文件  								
├── node_modules                 	安装的依赖包     								
├── public                       	public中的表态资源会被复制到输出目录(dist)中	
│   ├── index.html				主页,项目入口								
│   ├── 	favicon.ico				网站图标										
├── src  																	
│   ├── assets              		放置一些静态资源,例如图片,图标,字体  			
│   ├── components            	公共组件  									
│   ├── directive				自定义指令									
│   ├── layout					公共布局组件									
│   ├── router                  	vue-router 相关配置 							
│   ├── store                     vuex 相关配置 								
│   ├── utils                     自定义的工具类  								
│   ├── views                     所有的页面  									
│   ├── App.vue              		路由组件的顶层路由 							
│   └── main.js                 	Vue 入口文件  								
├── package.json                 	npm包配置文件、依赖包信息						
└── vue.config.js                 配置				

二、 组件篇

1.组件开发需要全面的收集需求,深刻分析此组件可以覆盖的业务范围,并作出正确的取舍。 2.一个组件不可能是大而全的,但可以是层层扩展的,从一个基础组件,一层层的扩展成更复杂的组件,甚至超大型的组件。 3.组件的props、method、events需要遵守同样的命名规范,如获取值用getXXX,设置值用setXXX,创建用createXXX等,这些可以快速的帮助使用者找到需要的接口。 4.组件需要添加name,在设置keep-alive时需要用到。 5.组件头部应该添加组件的说明注释,如接收的传入参数、向外层抛出的事件名等。 6.props定义应该尽量详细,包括type、default、required、甚至validator 7.样式应该设置scoped,避免污染全局样式。

三、 命名规范篇

1. CSS命名规范

1)css class命名尽量使用英语,不要使用汉拼,并且有意义, ​ 2)使用单词命名时不要缩写,除非非常有名的单词。 ​ 3)规则命名中,一律采用小写加中划线的方式,不允许使用大写字母或 _ 例如(header-list) ​ 4)不允许通过1、2、3等序号进行命名 ​ 5)避免class与id重名

css 编写顺序

​ 1)位置,定位,层级(position,top,bottom,left,right,z-index,display,float) ​ 2)大小(width,height,padding,margin) ​ 3)文字系列(font, line-height, letter-spacing, color- text-align) ​ 4)背景(background,border) ​ 5)其他(animation,transition)

2. javascript规范(基于ES6 结合eslint 强制编码格式)

1)变量命名采用小驼峰命名法—即首字母小写,后每个单词首字母大写 2)常量命名采用全字母大写命名,以便于与变量区分 ​ 常量 const PI = 3.141592653 变量 let name = ‘’ 3)函数命名使用小驼峰命名法,条件允许情况下请采用动词前缀方式,请保证函数命名语义化明确 4)构造函数命名必须采用大驼峰命名法,即首字母必须大写 5)字符串拼接推荐使用ES6中``拼接 6)判断等于尽量使用===

3. 组件命名规范

1)组件名应该始终是多个单词组合的,一些vue内置组件除外,如App、component、transition等。 2)组件在components文件夹下,一个组件建一个文件夹,文件夹名为该组件名,格式为大驼峰格式,文件夹下是index.vue(基础)+ 其他 例如: 3)特定和基础组件,应该以一个特定的前缀开头,比如Base、App等

components/  
|- BaseButton  
|- BaseTable  
|- BaseIcon 
components/  
|- AppButton  
|- AppTable  
|- AppIcon 

4)组件的命名应该使用完整单词,而不是缩写

//反例   
components/   
|- BtnAdd   
|- UName     
//推荐   
components/   
|- ButtonAdd   
|- UserName  

4. 页面命名规范

views下为项目所有页面。 1)层级与业务一致,即与功能层级一致 例如: 2)命名格式为小驼峰格式,但建议多层级、单个单词的方式,末级文件夹为功能名称,下面包括index.vue(基础)+ 其他。

四、 接口篇

1.api文件夹下接口文件层级与页面保持一致。 2.具体形式与项目封装的数据请求有关。 框架一般会统一处理失败的请求,所以在项目中,前端开发者只需要处理成功后的相关操作和提示。

五、 注释篇

1.template部分:

特殊组件或其他特殊含义内容使用注释。

2.script部分:

1)data中的所有对象必须加注释,对象上方单行注释。 例如:

data() {
  return {
    // 遮罩层
    loading: true,
    // 选中数组
    ids: [],
    // 非多个禁用
    multiple: true,
    // 显示搜索条件
    showSearch: true,
    // 总条数
    total: 0,
    // 表格数据
    list: [],
    // 查询参数
    queryParams: {
      pageNum: 1,
      pageSize: 10,
      userName: undefined,
      status: undefined
    }
  };
},
js

2)methods中的所有方法必须加注释,方法上方多行注释,注释内容包括方法描述。 例如:

methods: {
/**
 * @description: 查询登录日志列表
 * @param {*} 
 * @return {*}
 */
  getList() {
    this.loading = true;
    list(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
        this.list = response.rows;
        this.total = response.total;
        this.loading = false;
      }
    );
  },
}
js

3.style部分:

一般不加,存在特殊含义内容是加注释说明

六、 常用变量限制及验证(根据项目实际情况调整)

1.名称字数限制 (推荐1-20) ​ 2.手机号,电话,邮箱验证(通用验证) ​ 3. 上传附件 ​ 图片:若无特殊要求,格式限制jpg、png、jpeg、gif ,大小限制 5M以下 ​ 视频:若无特殊要求,格式限制mp4、MPEG4

七、 页面显示及功能交互通用

1.文字超出容器需要进行 ‘…’ 省略 ​2.图片显示 无特殊要求时,按原图宽高比显示(element-UI中el-image属性fit设置为scale-down) ​3.美化滚动条 ​4.涉及数据处理功能按钮,增加防频繁点击处理(提交按钮添加loading,根据场景loading可以在promise的then或者finally里中关闭)

推荐阅读

1、.gitignore 文件常用配置 2、记录一下Vue中父子组件数据双向绑定 3、整理一下JavaScript字符串的截取以及数组的截取 4、JavaScript的常用遍历方法整理 5、Vue生命周期

关注公众号 width:400px;height:150px;

关注贴吧:pei你看雪吧

评论
来发一针见血的评论吧!
表情
  • 乌璐鲁

    2021-11-01 23:43

    👍


    1
    回复
      共0条回复,点击查看
推荐文章
  • JavaScript 的事件循环机制

    1点赞1评论

  • Element UI 级联选择器 el-cascader 实现懒加载和搜索功能

    1点赞0评论

  • Java 23种设计模式——适配器模式(Adapter)

    1点赞0评论

  • Vue项目代码规范

    1点赞1评论

  • Java 23种设计模式——单例模式(Singleton)

    0点赞1评论

Crafted with by Pei你看雪

小破站居然运行了 1048 天访客 26778

© 2023 Pei你看雪鲁ICP备19037910号-2