2020-12-17

一、 项目结构


├── 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 {}导出多个

原文:

你可能感兴趣的:(2020-12-17)