MINA文件结构

什么是MINA?

MINA是微信开发小程序的框架。
MINA框架中有四种类型的文件:

  • .js 文件基于JavaScript的逻辑层框架
  • .wxml 视图层文件,是MINA设计的一套标签语言
  • .wxss 样式文件,用于描述WXML的组件样式
  • .json 文件,配置文件,用于单个页面的配置和整个项目的配置

文件结构

框架程序包含一个描述整体程序的 app 和多个描述各自页面的 page。
一个框架程序主体部分由三个文件组成,必须放在项目的根目录,如下:

文件 必填 作用
app.js 小程序逻辑
app.json 小程序公共设置
app.wxss 小程序公共样式表

app.js

app.js使用App()函数注册一个小程序,可以指定小程序的生命周期小程序的App()生命周期中三个事件可以监听:onLaunchonShowonHide

  • onLaunch:小程序加载完成之后调用,全局只触发一次
  • onShow: 小程序启动,或者从后台到前台会触发一次
  • onHide:小程序从前台到后台会触发一次

栗子:

App({ 
    onLaunch() {  
        console.log( "App Launch" );
    }, 
    onShow() {
        console.log( "App Show" );  
    },  
    onHide() {
        console.log( "App Hide" )  
    }, 
    globalData: {
        hasLogin: false  
    }
})

1、其中app.jsglobalData可以设置全局的变量,在一个页面中可以通过getApp()函数获取小程序的实例,使用AppgetCurrentPage()可以获取到当前页面的实例。
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中定义的样式。
具体设置请查看配置

你可能感兴趣的:(MINA文件结构)