前端编码规范

ops/2024/10/25 10:29:10/

1、开发规范

1.1、新增 view

在 @/views (opens new window)文件下 创建对应的文件夹,一般性一个路由对应一个文件, 该模块下的功能就建议在本文件夹下创建一个新文件夹,各个功能模块维护自己的utils或components组件。

1.2、新增 api

在 @/api (opens new window)文件夹下创建本模块对应的 api 服务。

1.3、新增组件

在全局的 @/components (opens new window)写一些全局的组件,如富文本,各种搜索组件,封装的分页组件等等能被公用的组件。 每个页面或者模块特定的业务组件则会写在当前 @/views (opens new window)下面。

如:@/views/system/user/components/xxx.vue。这样拆分大大减轻了维护成本。

1.4、新增样式

页面的样式和组件是一个道理,全局的 @/style (opens new window)放置一下全局公用的样式,每一个页面的样式就写在当前 views下面,请记住加上scoped 就只会作用在当前组件内了,避免造成全局的样式污染。

/* 编译前 */

.example {

  color: red;

}

/* 编译后 */

.example[_v-f3f3eg9] {

  color: red;

}

2、目录结构规范

├── build                      // 构建相关  

├── config                     // 配置相关

├── layout                     // 版面编排

│   ├── index                             // 版面主文件 加载版面各个模块组件

│   ├── component             // 版面模块组件

├── src                        // 源代码

│   ├── api                    // 所有请求

      └── test.js                  // 与views模块一致

│   ├── assets                 // 主题 字体等静态资源

│   ├── components             // 全局公用组件

│   ├── directive              // 全局指令

│   ├── filtres                // 全局 过滤器

│   ├── icons                  // 项目所有 svg icons

│   ├── lang                   // 国际化 language

│   ├── mock                   // 项目mock 模拟数据

│   ├── router                 // 路由

│   ├── store                  // 全局 store管理

│   ├── styles                 // 全局样式

│   ├── utils                  // 全局公用方法

│   ├── vendor                 // 公用vendor

│   ├── views                   // view页面

└── test                  //包名就是模块名,小写字母,多单词中划线

└── Index.vue                 //模块主页 文件名开头字母大写,多单词中划线

└── components       //模块业务组件目录

└── com-page.vue  //模块业务组件文件夹,开头字母小写,多单词中划线

└── comPage.vue    //模块业务组件,开头字母小写,多单词中划线

│   ├── App.vue                 // 入口页面

│   ├── main.js                  // 入口 加载组件 初始化等

│   └── permission.js            // 权限管理

├── static                       // 第三方不打包资源

│   └── Tinymce                 // 富文本

├── .env.development            //开发打包环境

├── .env.production              //生产打包环境

├── .env.staging                 //测试打包环境

├── .babelrc                   // babel-loader 配置

├── eslintrc.js                // eslint 配置项

├── .gitignore                 // git 忽略项

├── favicon.ico                // favicon图标

├── index.html                 // html模板

└── package.json               // package.json

3、注意:禁止一个模块不拆分,要分父子组件

错误方式的目录:

Index.vue包括了所有的功能(列表、新增、详情、编辑……)

缺点:难维护,冗余,文件行数太多,不轻便。

规范目录:

因按功能区分子组件。

这样拆分父子组件,每个文件,代码行数差不多都是一两百行。

注释:

函数使用多行注释

/**** @param {*} query* @returns*/

参数说明使用单行注释

//注释内容

页面标签使用标签注释

 <!—注释内容 -->

命名:

Index.vue和APP.vue固定命名,其他包名文件名全部小写字母开头,多单词包名使用“-” test-page, 多单词文件名驼峰testPage。参考目录结构规范。


http://www.ppmy.cn/ops/117928.html

相关文章

Redis中BigKey与MoreKey优化笔记

1.MoreKey 在Redis中&#xff0c;MoreKey问题通常指的是当数据库中的key数量非常多时&#xff0c;使用如KEYS *这样的命令去检索所有的key&#xff0c;这会导致Redis服务阻塞&#xff0c;影响正常业务。因为Redis是单线程操作的&#xff0c;执行这类命令时会占用大量时间&…

zookeeper面试题

1. 什么是zookeeper zookeeper是一个开源的 分布式协调服务。他是一个为分布式应用提供一致性服务的软件&#xff0c;分布式应用程序可以基于Zookeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。 Zooke…

LeetCode 136. 只出现一次的数字

LeetCode 136. 只出现一次的数字 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使用常量额外空间。 示例 …

Linux——k8s认识

计算资源隔离 - 更方便进行高并发架构的维护和升级 - 架构管理的灵活性更高&#xff0c;不再以单个节点的物理资源作为基础 技术&#xff1a; - 硬件辅助虚拟化 - 容器技术 在企业部署方案中&#xff0c;很少以单节点实现虚拟化和容器技术&#xff0c;一般以集群状态来运…

emq 2.3.5参数配置详解

EMQ X版本为【emqttd-centos6.8-v2.3.5.zip】 配置文件位置【/etc/emqx.conf】 ## ## EMQ Configuration R2 ####-------------------------------------------------------------------- ## Cluster&#xff08;集群 &#xff09; ##--------------------------------------…

一,初始 MyBatis-Plus

一&#xff0c;初始 MyBatis-Plus 文章目录 一&#xff0c;初始 MyBatis-Plus1. MyBatis-Plus 的概述2. 入门配置第一个 MyBatis-Plus 案例3. 补充说明&#xff1a;3.1 通用 Mapper 接口介绍3.1.1 Mapper 接口的 “增删改查”3.1.1.1 查询所有记录3.1.1.2 插入一条数据3.1.1.3 …

Git No newline at end of file

Git No newline at end of file 通过 IDE 修改代码&#xff0c;保存之后 在 git 查看 diff 发现&#xff0c;之前的所有代码显示 删除&#xff0c;然后重新添加&#xff0c;并且最后一行显示 No newline at end of file 这个是换行符问题 解决方案 打开命令行执行下面命令 …

【STM32 Blue Pill编程实例】-手机通过HC-05串口蓝牙控制LED

手机通过HC-05串口蓝牙控制LED 文章目录 手机通过HC-05串口蓝牙控制LED1、HC-05串口蓝牙模块介绍2、硬件准备和接线3、模块配置4、代码实现5、手机控制在本文中,我们介绍如何使用 STM32CubeIDE 和 HAL 库将 HC-05 蓝牙模块与 STM32 Blue Pill 开发板连接。 我们将使用 Android…