文件结构解析:小程序的“骨架”长什么样?

我们了解了第一个获取头像的微信小程序,我们就会很好奇,它为什么如此构成?

微信小程序的文件结构就像一个人体,各个部分各司其职,共同构成了一个完整的小程序。在本文中,我们将通过比喻来说明小程序中的主要文件和目录的作用,帮助您更好地理解小程序的结构。

小程序的“骨架、心脏、肢体”

骨架:app.json

app.json文件是小程序的全局配置文件,定义了小程序的页面路径、界面表现、网络超时时间、底部 tab、窗口表现等。它就像是小程序的“骨架”,决定了小程序的整体结构和布局。

// app.json 示例
{
  "pages": ["pages/index/index", "pages/logs/logs"],
  "window": {
    "navigationBarBackgroundColor": "#ffffff",
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "豆子碎片",
    "backgroundColor": "#eeeeee",
    "backgroundTextStyle": "light"
  },
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页"
      },
      {
        "pagePath": "pages/logs/logs",
        "text": "日志"
      }
    ]
  }
}

心脏:app.js

app.js文件是小程序的入口文件,定义了小程序的生命周期函数,如小程序初始化时执行的方法、全局数据等。它就像是小程序的“心脏”,驱动着小程序的运行。

// app.js 示例
App({
  onLaunch: function () {
    // 小程序初始化时执行
    console.log("小程序初始化完成");
  },
  globalData: {
    userInfo: null,
  },
});

肢体:pages 目录

pages目录包含了小程序的各个页面,每个页面由.wxml.js.wxss.json四个文件组成,分别用于定义页面的结构、逻辑、样式和配置。它们就像是小程序的“肢体”,负责展示和交互。

示例页面目录结构

pages/
  ├── index/
  │   ├── index.wxml
  │   ├── index.js
  │   ├── index.wxss
  │   ├── index.json
  ├── logs/
  │   ├── logs.wxml
  │   ├── logs.js
  │   ├── logs.wxss
  │   ├── logs.json

index 页面示例

<!-- index.wxml -->
<view class="container">
  <image src="/images/avatar.png" class="avatar"></image>
  <button bindtap="getUserInfo">获取头像</button>
</view>
// index.js
Page({
  data: {
    userInfo: {},
  },
  getUserInfo: function () {
    wx.getUserProfile({
      desc: "展示用户信息",
      success: (res) => {
        this.setData({
          userInfo: res.userInfo,
        });
        wx.navigateTo({
          url: "/pages/logs/logs?info=" + JSON.stringify(res.userInfo),
        });
      },
    });
  },
});
/* index.wxss */
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
}
// index.json
{
  "navigationBarTitleText": "首页"
}

总结

通过本文的比喻,您应该对微信小程序的文件结构有了更直观的理解。app.json文件是小程序的“骨架”,决定了小程序的整体结构和布局;app.js文件是小程序的“心脏”,驱动着小程序的运行;pages目录中的各个页面是小程序的“肢体”,负责展示和交互。希望这篇文章能够帮助您更好地理解和开发微信小程序。