首页 > 其他分享 >Vue代码规范

Vue代码规范

时间:2022-10-14 12:11:58浏览次数:103  
标签:Vue -- 代码 规范 vue components 组件

目录

Vue代码规范

简洁汇总

命名 示例 描述
普通变量 const names = new Array();
const mySchool = "我的学校";
命名必须是跟需求的内容相关的词,复数加s
常量 const MAX_COUNT = 10 全部大写,下划线用以分割单词。
组件命名规范 AbcdDatePicker
StaffBenchToChargeItem
abcd-date-picker
公用组件以 Abcd (公司名缩写简称) 开头
页面内部组件以组件模块名简写为开头,Item 为结尾
在页面中使用组件需要前后闭合,并以短线分隔
方法命名 jumpPage、openCarInfoDialog
getListData、postFormData
驼峰式命名,统一使用动词或者动词+名词形式
请求数据方法,以data结尾
props 命名 props: { greetingText: String }
greeting-text="hi"
在声明 prop 的时候,其命名应该始终使用 camelCase,而在模板中应该始终使用 kebab-case
业务组件 components/ |- CustomCard.vue 业务组件应该以 Custom 前缀命名
紧密耦合的组件名 components TodoList.vue |- TodoListItem.vue |- TodoListItemButton.vue 和父组件紧密耦合的子组件应该以父组件名作为前缀命名

函数方法常用动词汇总

get 获取/set 设置,
add 增加/remove 删除
create 创建/destory 移除
start 启动/stop 停止
open 打开/close 关闭,
read 读取/write 写入
load 载入/save 保存,
create 创建/destroy 销毁
begin 开始/end 结束,
backup 备份/restore 恢复
import 导入/export 导出,
split 分割/merge 合并
inject 注入/extract 提取,
attach 附着/detach 脱离
bind 绑定/separate 分离,
view 查看/browse 浏览
edit 编辑/modify 修改,
select 选取/mark 标记
copy 复制/paste 粘贴,
undo 撤销/redo 重做
insert 插入/delete 移除,
add 加入/append 添加
clean 清理/clear 清除,
index 索引/sort 排序
find 查找/search 搜索,
increase 增加/decrease 减少
play 播放/pause 暂停,
launch 启动/run 运行
compile 编译/execute 执行,
debug 调试/trace 跟踪
observe 观察/listen 监听,
build 构建/publish 发布
input 输入/output 输出,
encode 编码/decode 解码
encrypt 加密/decrypt 解密,
compress 压缩/decompress 解压缩
pack 打包/unpack 解包,
parse 解析/emit 生成
connect 连接/disconnect 断开,
send 发送/receive 接收
download 下载/upload 上传,
refresh 刷新/synchronize 同步
update 更新/revert 复原,
lock 锁定/unlock 解锁
check out 签出/check in 签入,
submit 提交/commit 交付
push 推/pull 拉,
expand 展开/collapse 折叠
begin 起始/end 结束,
start 开始/finish 完成
enter 进入/exit 退出,
abort 放弃/quit 离开
obsolete 废弃/depreciate 废旧,
collect 收集/aggregate 聚集

结构化规范

目录文件夹及子文件规范

  • 以下统一管理处均对应相应模块
  • 以下全局文件文件均以 index.js 导出,并在 main.js 中导入
  • 以下临时文件,在使用后,接口已经有了,发版后清除
src                               源码目录
|-- api                              接口,统一管理
|-- assets                           静态资源,统一管理
|-- components                       公用组件,全局文件
|-- filters                          过滤器,全局工具
|-- icons                            图标,全局资源
|-- datas                            模拟数据,临时存放
|-- lib                              外部引用的插件存放及修改文件
|-- mock                             模拟接口,临时存放
|-- router                           路由,统一管理
|-- store                            vuex, 统一管理
|-- views                         视图目录
|   |-- staffWorkbench               视图模块名
|   |-- |-- staffWorkbench.vue       模块入口页面
|   |-- |-- indexComponents          模块页面级组件文件夹
|   |-- |-- components               模块通用组件文件夹

vue 文件基本结构

  <template>
    <div>
      <!--必须在div中编写页面-->
    </div>
  </template>
  <script>
    export default {
      components : {
      },
      data () {
        return {
        }
      },
      mounted() {
      },
      methods: {
      }
   }
  </script>
  <!--声明语言,并且添加scoped-->
  <style lang="scss" scoped>
  </style>

元素规范

多个特性的元素应该分多行撰写,每个特性一行。(增强更易读)

<!-- good -->
<img
  src="https://vuejs.org/images/logo.png"
  alt="Vue Logo"
>
<my-component
  foo="a"
  bar="b"
  baz="c"
>
</my-component>

元素特性的顺序

  - class
  - id,ref
  - name
  - data-*
  - src, for, type, href,value,max-length,max,min,pattern
  - title, alt,placeholder
  - aria-*, role
  - required,readonly,disabled
  - is
  - v-for
  - key
  - v-if
  - v-else-if
  - v-else
  - v-show
  - v-cloak
  - v-pre
  - v-once
  - v-model
  - v-bind,:
  - v-on,@
  - v-html
  - v-text

组件选项顺序

  - components
  - props
  - data
  - computed
  - created
  - mounted
  - metods
  - filter
  - watch

详细Vue代码规范好文推荐

史上最全的Vue开发规范:https://juejin.cn/post/6844903652096770055

标签:Vue,--,代码,规范,vue,components,组件
From: https://www.cnblogs.com/AJun816/p/16791198.html

相关文章

  • vue+elementui+axios环境搭建
    1.去官网下载安装node.js,安装后用命令检测版本信息node-vnpm-v2.安装vue环境#安装淘宝npmnpminstall-gcnpm--registry=https://registry.npm.......
  • 利用a标签实现文件下载功能(ant design vue可用)
    #利用a标签实现文件下载功能(antdesignvue可用)##代码和注释```letfileUrl=“”//所下载文件的网络地址letfileName=“”//下载成功后保存的文件名//创建一个a标......
  • Vue3+Element-plus 报错记录
    目录Vue3+Element-plus报错记录报错信息错误场景还原问题排查错误代码el-select多选Vue3+Element-plus报错记录报错信息TypeError:Cannotreadpropertiesofnull......
  • VUE截图
    一、安装html2canvas、vue-croppernpmihtml2canvas--save//用于将指定区域转为图片npmivue-cropper-S//将图片进行裁剪二、在main.js注册vue-cropper组件im......
  • 如何修改eclipse下的Java代码注释模板
    window-->preferences-->搜索框进行搜索Code-->Java-->CodeStyle-->CodeTemplate-->Comments-->Types点击编辑输入一下内容/***@authortiger*@d......
  • 如何在物联网低代码平台中使用数据字典功能?
    在物联网低代码系统中,一般都会有这么个模块——数据字典。今天就带大家学习下在AIRIOT物联网低代码平台中数据字典模块的用途和具体操作。数据字典定义数据字典用于添......
  • vue封装自己的axios
    在项目中封装自己的axios在src目录下建立一个unit文件夹//unit=>http.jsimportaxiosfrom"axios";consthttp=axios.create({baseURL:"xxxx",......
  • vue中基于webpack打包的一些配置说明
    以下配置只限于打包时assetsPublicPath路径变化时的配置,如果是正常的打包,不用配置任何路径,不必参考!1.静态资源配置:index:path.resolve(__dirname,'../dist/index.html'......
  • vue2实现树
    效果:接口返回数据: vue2前端代码:getTree(){this.listLoading=truegetAcademyTree().then(response=>{console.log(response.data)......
  • 如何在macOS上使用vivado的部分功能:利用vs code进行verilog代码编写,使用vivado的替代
    首先要说明本文介绍的是如何使用vivado的替代品在macOS上实现vivado的部分功能:verilog代码编写,仿真(simulation)和生成波形图。而并没有成功安装vivado。 刚开始为了实现......