注意:本文以及其他一系列小程序相关文章都是参考微信公众平台/小程序 ,官方文档讲解很详细,这里只不过是将自己学习和实践的过程以及遇到的问题记录,方便学习和解决问题,如果遇到作者出错的地方请联系作者改正。
首先安装node.js:node.js下载地址
安装完成之后下载微信开发者工具,进行安装 微信开发者工具下载地址
文件结构
小程序文件结构很简单,一个主体app以及各个页面

主体部分详解
app.json页面配置
注意!!:JSON文件中 //注释是错误的,这里加上只是为了方便理解内容,使用的话先要把所有注释都删除
{
"pages": [
"pages/index/index",
"pages/order/order",
"pages/myself/myself"
],
"window": {
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "锄禾自然农场",
"navigationBarTextStyle":"black",
"enablePullDownRefresh": true,
"backgroundColor":"red",
"backgroundTextStyle":"light"
},
"tabBar": {
"color":"red",
"selectedColor":"green",
"backgroundColor":"skyblue",
"borderStyle":"black",
"position":"bottom",
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath":"",
"selectedIconPath":""
},
{
"pagePath": "pages/order/order",
"text": "订单"
},
{
"pagePath": "pages/myself/myself",
"text": "我的"
}
]
},
"networkTimeout": {
"request": 10000,
"connectSocket":10000,
"downloadFile": 10000,
"uploadFile": 10000,
},
"debug":true
}


app.js
在app.js中主要实现了注册一个小程序(页面名.js主要是注册页面),主要是调用了一个名为App() 函数,其用来注册一个小程序,接受一个 object 参数,其指定小程序的生命周期函数等。
App({
/**
* 监听小程序初始化
* 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
*/
onLaunch: function(options) {
path:
query:
scene:
shareTicket:
referrerInfo:
referrerInfo.appId:
referrerInfo.extraData:
},
/**
* 监听小程序显示
* 当小程序启动,或从后台进入前台显示,会触发 onShow
* 参数和onLaunch一样
*/
onShow: function(options) {
},
/**
* 监听小程序隐藏
* 当小程序从前台进入后台,会触发 onHide
*/
onHide: function() {
},
/**
* 错误监听函数
* 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
*/
onError: function(msg) {
},
/**
* 其他自定义函数,全局变量
*/
globalData: {
userName:"李四",
userAge:44
}
})
场景值 详见。
getApp()
小程序提供了全局的 getApp() 函数,可以获取到在其他页面的 js文件获取小程序实例。
// other.js
var appInstance = getApp()
console.log(appInstance.globalData.userName) //李四
注意:
1、App() 必须在 app.js 中注册,且不能注册多个。
2、不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。
3、不要在 onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。
app.wxss
全局样式组件,和css差不多
直接参考官方文档即可 :官方文档
Page()
Page() 函数用来注册一个页面。接受一个 object 参数,其指定页面的初始数据、生命周期函数、事件处理函数等。
Page({
data: {
text: "This is page data."
},
onLoad: function(options) {
},
onReady: function() {
},
onShow: function() {
},
onHide: function() {
},
onUnload: function() {
},
onPullDownRefresh: function() {
},
onReachBottom: function() {
},
onPageScroll: function() {
scrollTop:100px;
},
onShareAppMessage: function () {
return {
title: '转发标题',
path: '/page/user?id=123'
}
},
viewTap: function() {
this.setData({
text: 'Set some data for updating view.'
}, function() {
})
},
customData: {
hi: 'MINA'
}
})
|