微信小程序的主体框架

学习一个东西,我们从它的主体框架入手是最好的,了解它的每一部分都是干什么的,后面的工作才更容易展开,也能少踩很多坑。

1.目录文件

新建一个微信小程序,它的目录文件如下:
微信小程序的主体框架_第1张图片

根目录下的文件有:

pages
utils
app.js
app.json
app.wxss
project.config.json
sitemap.json

来看看它的每一个文件的作用都是什么吧

1.1 app.json:全局配置

如你所见,它是一个json文件,内含5个key-value键值对属性.
微信小程序的主体框架_第2张图片
page属性:它对应的value值是一个列表,表的成员是String类型的,包含着整个小程序所有的页面。
windows属性:用于设置小程序的状态栏、导航条、标题、窗口背景色。**
tabBar属性:如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。(底部tab栏最少2个,最多5个)。还有一个要注意的点,tabBar栏的图片名称必须为纯字母
works属性:使用 Worker 处理多线程任务时,设置 Worker 代码放置的目录。
sitemapLocation属性: 指明 sitemap.json 的位置(默认跟app.json同级)。

此外还有很多属性,只要是涉及全局设置的,都是app.json的工作。详见官方文档:
https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html

注:页面的单独配置的优先级是高于全局配置的

1.2 pages:页面目录

页面目录,我们编写的任一页面的前端代码,都保存在该目录下,自带的index是主页面,logs是登录界面。

1.3 utils:公共代码

utils目录下只有一个文件utils.js。
微信小程序的主体框架_第3张图片
它将一些公共的代码抽离,形成单独的模块(有点像java spring的 AOP)保存在utils.js中,然后用mudule.exports来连接外部,外部使用require(path)(path为utils.js的路径)导入该模块包,就可以使用里面的函数。

1.4 sitemap.json:允许微信索引

这个目前我还是不太清楚有什么用

1.5 app.js: 项目的入口文件

微信小程序的主体框架_第4张图片
可以看到,它由一个App()函数组成,接受一个Object参数,并没有函数体.参数由多个函数组成,一般调用形式如下:

App({
	函数名1:function(){
		//函数1的函数体
	},
	函数名2:function(){
		//函数2的函数体
	}
	//还可以设置全局函数
})

这其中有几个重要的函数要特别介绍一下

onLaunch:function(){} //生命周期回调——监听小程序初始化
onShow:function(){}  //当该页面从后台进入前台时执行的函数
onHide:function(){}  //当该页面从前台进入后台时执行的函数

1.6 app.wxss:全局样式

一个全局的css样式文件
微信小程序的主体框架_第5张图片

1.7 project.config.json:项目配置文件

具体可见博客:https://www.cnblogs.com/lizm166/p/9547816.html

1.8 获取小程序的实例:getApp()

在小程序下的任一页面的js文件,都可以使用该函数获取小程序的唯一实例进行操作。值得注意的是,必须在App()执行后(创建实例)再执行该函数,才能成功获取到小程序实例,但存在一个问题就是:小程序是默认异步执行的,有可能App()还没执行完,含有getApp()的页面已经启动,从而获取不到实例。(解决方法百度)

你可能感兴趣的:(微信小程序)