一个清晰的项目结构有助于我们快速、高效的开发项目,也有助于团队快速了解项目。这是我写小程序的一些规范总结。
一、 项目结构
.
├── app.js
├── app.json
├── app.wxss
├── assets (项目资源文件存放文件夹)
│ └── images(项目本地图片存放文件夹)
│
├── components (自定义组件存放文件夹)
│ ├── custom-button
│ ├── ...
│ └── custom-navigation
│
├── pages (页面文件存放文件夹)
│ ├── home
│ ├── ...
│ └── mine
│
├── requests (项目所有网络请求存放文件夹)
│ └── index.js
│
├── statics (项目通用文件夹,方便直接在多个新的项目中使用)
│ ├── config (项目配置)
│ │ └── index.js
│ │
│ ├── crypto (项目AES加解密和MD5加密)
│ │ ├── AES.js (外部使用的加解密)
│ │ └── crypto.js
│ │
│ ├── fonts (项目引入的第三方字体)
│ │ └── font.wxss
│ │
│ ├── judgement (封装常用判断,手机号、姓名、身份证...)
│ │ └── index.js
│ │
│ ├── request (封装常用判断,手机号、姓名、身份证...)
│ │ ├── index.js (主要网络请求封装)
│ │ ├── params.js(网络请求参数封装)
│ │ └── wxLogin.js (微信登录相关)
│ │
│ ├── router(常用的页面跳转)
│ │ └── index.js
│ │
│ ├── storage (本地数据缓存的key和相关的方法)
│ │ └── index.js
│ │
│ ├── toast(网络请求提示和弹窗提示文字等方法)
│ │ └── index.js
│ │
│ ├── utils(常用的工具类方法)
│ │ └── util.js
│ │
│ └── wxs (小程序脚本语言文件,这里主要处理了价格)
│ └── price.wxs
│
└── utils (系统默认创建的当前项目工具类文件)
└── util.js
二、 代码规范(重点)
-
自定义组件(components)
- 文件夹名字统一用
小写字母
; - 文件夹多个单词之间用
“-”
来连接,`如:custom-navigation; -
文件名称与文件夹名称一致
,如:custom-navigation.js; - 多个地方使用可以考虑直接配置到
app.json
中的“usingComponents”
里面。`
-
页面文件(pages)
- 文件夹第一个单词使用
小写
,如:home; - 多个单词使用
驼峰命名
,如:orderDetail; - 文件名称统一使用
index.js
。
-
工具类文件和其他(statics或utils)
- 文件夹第一个单词使用
小写
,如:home; - 多个单词使用
驼峰命名
,`如:orderDetail; - 文件名称统一使用
index.js
。
-
CSS规范
- css布局统一使用
flex布局
- 尺寸单位统一使用
rpx
- 命名采用
“-”(双击不可复制)
或者“_”(双击直接复制)
来连接都可以。如: header-wraper, header_wraper.
-
JS规范
- js 的命名采用
驼峰命名
法; - js语句
无需写 ;
来结尾; - js中一致使用
单引号''
或者反引号``
,不是使用 双引号""; - 在
wxml、css、json 中均使用双引号 ""
; - 点击事件名称
on+事件名称或者业务名称
,能有知名思议的效果。如:onSelectTitle()
-
函数
- 在
pages
的页面文件中,系统方法仍使用默认的方式,如: onLoad: function () {},
自定义的方法统一使用如:函数名() {}
- 其他js文件使用
const 函数名 = () => {} (不建议使用到pages的页面文件中避免this指向问题),
或者函数名(){}
- 异步回调函数 统一使用
Promise
-
文件的导入和导出
1.文件导入:
1)使用微信引入模块的方式,即 require(path) 相当于整个模块导入
;
2)ES6方式导入,import xx from path 按需导入
。
- 文件导出
1)使用module.exports = {}
方式模块导出;
2)使用export单个导出
或者export default {}导出多个
网友评论