为什么要关心这个目录结构?
关于小程序的目录结构,可以说一开始大家都有各自的开发习惯和命名规则,但一旦项目变得复杂庞大的时候,你就发现管理起来和后期维护变得很麻烦,如果是 协同开发 的话,更容易出现 “互坑” 的情况。
├─ app.js --- 小程序加载时优先加载的入口 JS
├─ app.json ---入口文件和公共配置
├─ app.wxss ---公共样式表
├─ project.config.json ---小程序全局配置文件
├─ sitemap.json ---允许微信索引文件
│
├─cloud-functions ---云函数
│ └─setCrypto ---数据加密模块,用户加密一些数据
│ index.js
│ package.json
│ ...
│
├─components ---小程序自定义组件
│ ├─plugins --- (重点)可独立运行的大型模块,可以打包成 plugins
│ │ ├─comment ---评论模块
│ │ │ │ index.js
│ │ │ │ index.json
│ │ │ │ index.wxml
│ │ │ │ index.wxss
│ │ │ │ services.js ---(重点)用来处理和清洗数据的 service.js,配套模板和插件
│ │ │ │
│ │ │ └─submit ---评论模块子模块:提交评论
│ │ │ index.js
│ │ │ index.json
│ │ │ index.wxml
│ │ │ index.wxss
│ │ │
│ │ └─canvasPoster ---canvas 海报生成模块
│ │ index.js
│ │ index.json
│ │ index.wxml
│ │ index.wxss
│ │ services.js ---(重点)用来处理和清洗数据的 service.js,配套模板和插件
│ │ ...
│ │
│ └─templates ---(重点)模板,通过外部传参的容器,不做过多的数据处理
│ │
│ ├─slideshow ---滚屏切换模板
│ │ index.js
│ │ index.json
│ │ index.wxml
│ │ index.wxss
│ │ service.js ---(重点)用来处理和清洗数据的 service.js,配套模板和插件
│ │
│ └─works ---作品模板
│ │ index.js
│ │ index.json
│ │ index.wxml
│ │ index.wxss
│ │ service.js
│ │
│ ├─articlePlugin ---作品模板中的文章类型
│ │ index.js
│ │ index.json
│ │ index.wxml
│ │ index.wxss
│ │
│ ├─galleryPlugin ---作品模板中的九宫格类型
│ │ index.js
│ │ index.json
│ │ index.wxml
│ │ index.wxss
│ │
│ └─videoPlugin ---作品模板中的视频类型
│ index.js
│ index.json
│ index.wxml
│ index.wxss
│ ...
│
├─config ---自定义配置文件
│ config.js ---存放基础配置
│ constants.js ---存储常量
│ weui.wxss ---第三方文件 wxss,js 等
│ ...
│
├─pages ---小程序页面
│ ├─user ---用户页面
│ │ index.js
│ │ index.json
│ │ index.wxml
│ │ index.wxss
│ ├─news ---新闻页面
│ │ index.js
│ │ index.json
│ │ index.wxml
│ │ index.wxss
│ │
│ └─home ---首页
│ index.js
│ index.json
│ index.wxml
│ index.wxss
│ ...
│
├─request ---https 请求管理(根据 switch tab 分类会比较好)
│ common.js ---一些公共请求获取,如兑换 openId,unionId 等
│ news.js
│ uri.js --- (重点)总的 URI 请求管理,方便切换和配置 DEV,QA,PROD 环境
│ user.js
│ ...
│
└─utils ---功能组件
logger.js ---日志管理
util.js ---公共小组件库
...
场景值用来描述用户进入小程序的路径 -> 你是从哪儿来的?
微信现已开放小程序内搜索,开发者可以通过 sitemap.json 配置,或者管理后台页面收录开关来配置其小程序页面是否允许微信索引。
当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索词条触发该索引时,小程序的页面将可能展示在搜索结果中。
让用户可以搜索到你的内容! -> 类似 robot.txt
➹:微信小程序页面是否允许微信索引之 sitemap.json_Handada_fan 的博客-CSDN 博客
涉及到生命周期 -> 你打开了一个小程序,突然一个电话来了,那么就从前台切换到后台了……
小程序进入后台的生命周期:
工具栏配置:
为啥要了解生命周期? -> 因为这关系到什么时候加载数据、显示页面、缓存和恢复页面数据
小程序的生命周期包括两大部分:
App
-> 3 个钩子Page
-> 5 个钩子这些钩子的描述:
注意某些场景下,这些钩子的调用顺序是怎样的……
如:
App.onLaunch --> App.onShow --> Page.onLoad --> Page.onShow --> Page.onReady
1 --> Page.onHide --> App.onHide
2 --> App.onShow --> Page.onShow
1 --> Page.onUnload(非栈底页面)
1 --> Page.onHide --> App.onHide(栈底页面)
1
3
1
1
➹:微信小程序的生命周期总结(附图)_Seven 的博客-CSDN 博客_微信小程序的生命周期
进程=火车,线程=车厢