什么是MINA?
MINA是微信开发小程序的框架。
MINA框架中有四种类型的文件:
-
.js
文件基于JavaScript的逻辑层框架 -
.wxml
视图层文件,是MINA设计的一套标签语言 -
.wxss
样式文件,用于描述WXML的组件样式 -
.json
文件,配置文件,用于单个页面的配置和整个项目的配置
文件结构
框架程序包含一个描述整体程序的 app 和多个描述各自页面的 page。
一个框架程序主体部分由三个文件组成,必须放在项目的根目录,如下:
文件 | 必填 | 作用 |
---|---|---|
app.js | 是 | 小程序逻辑 |
app.json | 是 | 小程序公共设置 |
app.wxss | 是 | 小程序公共样式表 |
app.js
app.js
使用App()
函数注册一个小程序,可以指定小程序的生命周期小程序的App()
生命周期中三个事件可以监听:onLaunch
,onShow
,onHide
。
-
onLaunch
:小程序加载完成之后调用,全局只触发一次 -
onShow
: 小程序启动,或者从后台到前台会触发一次 -
onHide
:小程序从前台到后台会触发一次
栗子:
App({
onLaunch() {
console.log( "App Launch" );
},
onShow() {
console.log( "App Show" );
},
onHide() {
console.log( "App Hide" )
},
globalData: {
hasLogin: false
}
})
1、其中app.js
的globalData
可以设置全局的变量,在一个页面中可以通过getApp()
函数获取小程序的实例,使用App
的getCurrentPage()
可以获取到当前页面的实例。
2、前台、后台定义: 当用户点击左上角关闭,或者按了设备Home键离开微信,小程序并没有正在的销毁,而是进入了后台;当再次启动微信或再次打开小程序,又会从后台进入前台。
3、只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。
app.json
app.json
文件来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。以下是一个包含了所有配置选项的简单配置app.json:
{
"pages": [
"pages/index/index",
"pages/logs/index"
],
"window": {
"navigationBarTitleText": "Demo"
},
"tabBar": {
"list": [{
"pagePath": "pages/index/index",
"text": "首页"
}, {
"pagePath": "pages/logs/logs",
"text": "日志"
}]
},
"networkTimeout": {
"request": 10000,
"downloadFile": 10000
},
"debug": true
}
-
pages
用于设置页面的路径 -
window
用于设置小程序的状态栏、导航条、标题、窗口背景色。 -
tabBar
用于设置tab应用,tabBar
是一个数组,最少需要配置2个,最多能配置5个tab,tab按照数据的顺序排序 -
networkTimeout
设置网络请求的超时时间,小程序有四种类型的网络请求 -
debug
开发工具中开启debug
模式,在控制台面板上可以看到调试信息,我们也可以使用console.log('onLoad')
输入log帮助我们调试程序。
具体设置请查看配置
app.wxss
app.wxss
中定义的的样式为全局样式,作用在每一个页面,在page中定义的.wxss
文件为局部样式,只作用在局部,局部样式中的定义会覆盖app.wxss
中定义的样式。
具体设置请查看配置