一文读懂微信小程序开发工具、项目结构、全局配置文件及页面跳转
发布于 5 年前 作者 hanguiying 3766 次浏览 来自 分享

个人小程序当前具备了:各地实时多日天气预报查询、日历农历黄历万年历、密码记账本、理财计算器带历史数学计算器、出行路线查询等功能,扫描二维码体验:

就是当前集中功能太多速度很慢,回头还要有优化。。。

微信小程序是近些年一项新的事物。互联网的发展过程中,总会不断出现新的事物,因为逆水行舟不进则退,创新才是互联网科技发展的原动力。

大家想一下,这种开发模式对Android和IOS肯定会造成一些冲击,因为这样微信等于自己成为了一个操作系统的平台,里面可以有各种各样的应用。

另外听说支付宝最近也有小程序了,说明这是今后的一个趋势。

抱着一定的好奇,另外最近闲暇时间也在做自己的小程序,所以边学编边写,供大家参考。

那么小程序开发怎么入门?今天主要介绍下开发工具、项目结构、全局配置文件及页面跳转等。

小程序账号的注册、开放工具的下载比较简单,此处不在赘述。

一、开发工具

开发工具的名字就叫“微信开发者工具”,非常直白利于记忆。

启动之后,我们来看一下它的长相,开发工具界面如下:

可以看到,界面有三个区域:模拟预览区、编辑代码区、调试区。这和我们开发其他软件的必备的操作区域是一样的。

这三个开发区域,分别对应左上角三个绿色按钮,点击它们就可以进行对不同区域的隐藏,非常方便。

建议大家,初学期间,先下载一个demo项目,打开之后,边看边学,在开发工具上边点边试,效率最高。

下面我们就以这个“石头剪刀布”小游戏为例进行介绍。

二、项目四大文件类型

微信小程序的项目,共有四种文件类型,这是最最基础的入门知识了。

1.wxml:微信模板文件,类似网页开发的html文件。

2.wxss:微信样式表文件,用于定于页面样式。

3.js:脚本文件,代码逻辑写在这。

4.json:静态数据配置文件。

三、 项目结构

整体结构图如下:

可以看出:

(一)有一个page文件夹:page文件夹种的子文件夹就代表一个个页面,每个页面(文件夹)信息都至少包括3个文件,json文件不是必须的 一般情况下我们只需要用全局配置的 app.json文件配置就可以了。

(二)有一个utils的文件夹:可以看出utils和pages文件是并列的,所以他就不代表页面的信息了,里面只有一个js文件,这个js文件其实就是把代码模块化了,这里面是将日期的转换封装好了,直接引入使用就可以了。

(三)还有一系列app开头的全局配置文件,pages里面的代表的仅仅是某个界面的配置,而app系列文件的代表的是整个项目的配置。

本篇重点介绍这些全局配置文件

四、全局配置文件

1.文件app.json—小程序全局配置文件

代码示例如下

{
  "pages": [
    "pages/index/index"
    "pages/logs/logs"
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#363527",
    "navigationBarTitleText": "石头剪刀布",
    "navigationBarTextStyle": "white"
  },
  "sitemapLocation": "sitemap.json"
}

此文件主要管理小程序的全局配置,包括小程序页面路径,界面风格(标题,背景色,字体色),网络超时时间,底部tab等;

page配置项说明:

提供页面入口和页面控制功能,后面会介绍到。

window配置项说明:

这个配置项是用来设置小程序的状态栏、导航条、标题、窗口背景色。六个属性功能如下:

navigationBarBackgroundColor 它是用来设置导航栏背景颜色,这个属性要输入的是十六进制颜色值.
navigationBarTextStyle 它是用来导航栏标题颜色的,它的输入类型是字符串(String),但是现在官网给出的文档目前仅支持(black和white)这两种颜色.
navigationBarTitleText 这个属性是显示导航栏标题内容的,开发者可以根据自己的需要来进行设置. - backgroundColor 这个属性是设置窗口的背景色的,它需要输入的也是十六进制颜色值的.
backgroundTextStyle 这个属性我的理解是设置窗口内容的样式的,官方给出的标准说明是下拉背景字体、loading 图的样式,这个属性
navigationBarTextStyle属性一样目前仅支持两种颜色(dark和light).
enablePullDownRefresh 这个属性是设置是否开启下拉刷新,默认是开启的,注意: 在这个配置文件(app.json)中如果关闭了下拉刷新,当你在你自己开发的页面中想要设置下拉刷新也是行不通的,也就是说如果你想要在以后页面中使用下拉刷新这个功能,就必须保证这个配置文件中的这一项设置是打开的。



官方文档中解释如下:  
![](https://image.wxopen.club/content_a2cd09e2-7e11-11ea-96b4-a0999b08aadb.png)  
注意:每个文件夹中的json中也有windows配置项,定义了文件夹内的wxml的界面风格,可覆盖app.json中的全局风格

其他配置项含义如下:

2.project.config.json—开发者工具配置

此文件用于定义开发者工具的个性化定制,比如界面颜色,编译配置等等。

project.config.json保存了你对于开发者工具的相关配置,如果你换电脑了,你可以通过此文件直接还原你最初习惯的开发设置。

3.app.js

app.js文件是项目的入口文件

onLaunch : function(){}:调用API从本地缓存中获取数据
onLoad:function(options){}:页面初始化 options 为页面跳转所传递过来的参数
onReady:function(){}:页面渲染完成
onShow:function(){}:页面显示
onHide:function(){}:页面隐藏
onUnload:function(){}:页面关闭

还可以在 app.js里面定义一些全局的方法:
例如:获取用户信息的方法(wx.getSetting)和属性(globalData):

示例如下

//app.js
App({
  onLaunch: function () {
    //调用API从本地缓存中获取数据
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
  },
  getUserInfo:function(cb){
    var that = this
    if(this.globalData.userInfo){
      typeof cb == "function" && cb(this.globalData.userInfo)
    }else{
      //调用登录接口
      wx.login({
        success: function () {
          wx.getUserInfo({
            success: function (res) {
              that.globalData.userInfo = res.userInfo
              typeof cb == "function" && cb(that.globalData.userInfo)
            }
          })
        }
      })
    }
  },
  globalData:{
    userInfo:null
  }
})

五、页面跳转

1.首次进入程序,入口由文件app.json控制,如下所示,入口为pages/index/index.wxml文件

{
  "pages": [
    "pages/index/index",(说明:第一行的这个页面代表小程序的入口)
    "pages/logs/logs"
  ],

2.微信小程序页面之间怎么跳转

方法一:
在pages/index/index.wxml文件中设置一个按钮,给按钮绑定一个跳转事件,则点击跳转到另一个页面。

index.wxml文件,代码示例

        <navigator url="../ts/ts" 
        hover-class="navigator-hover"
         open-type="switchTab">我是个按钮demo
         </navigator>

方法二:
在小程序底部加选项卡控件,点击不同选项卡进入不同页面

代码就是在app.json里放一个list就可以了,list中将页面和选项卡绑定,示例如下:

"list": [
      {
        "pagePath": "pages/xxx/xxx",
        "text": "选项卡一",
        "iconPath": "image/xxx.png",
        "selectedIconPath": "image/xxx.png"
      },
      {
        "pagePath": "pages/yyy/yyy",
        "text": "选项卡二",
        "iconPath": "image/yyy.png",
        "selectedIconPath": "image/yyy.png"
      },
      {
        "pagePath": "pages/zzz/zzz",
        "text": "选项卡三",
        "iconPath": "image/zzz.png",
        "selectedIconPath": "image/zzz.png"
      },
      {
        "pagePath": "pages/ddd/ddd",
        "text": "使用说明",
        "iconPath": "image/ddd.png",
        "selectedIconPath": "image/ddd.png"
      }
    ]

六、新增页面

最佳做法是:

1.直接在app.json文件的pages数组中新增一条页面路径

2.按ctrl+s,保存,pages文件夹会自动生成一个新的页面,这样做更加方便和保险。

2 回复

新手路过支持一下

占个楼^_^

回到顶部