一、从全局到页面:小程序是怎么组织起来的?
小程序和普通网页不太一样,它有一套自己的结构规则。
你会看到三个关键的"全局文件":
| 文件 | 用来做什么 |
|---|---|
app.json |
小程序的配置中心 ------ 你所有页面、导航栏、tabBar 都在这里统一管理 |
app.js |
应用入口 ------ 小程序启动时做的事都在这里(比如登录、缓存) |
app.wxss |
全局样式文件 ------ 所有页面都会继承它 |
理解了这部分,你就知道"小程序不是一个页面,而是一个完整 App"。
二、页面是如何工作的?(Page 架构)
每个页面都由四个文件组成:
wxml(结构) + wxss(样式) + js(逻辑) + json(配置)
你写的逻辑主要集中在:
css
Page({
data: { /** 页面数据 */ },
methods: { /** 事件方法 */ }
})
只要 data 改变,界面就会自动更新 ------ 这就是小程序的数据驱动。
对于新手来说,它的好处是:
- 写界面 → 只关心数据
- 事件逻辑 → 写在 Page 里
- 页面跳转 → 用 wx.navigateTo
看起来简单,其实内部做了很多"自动更新"的事情。
三、首页长什么样?我们拆成几个模块就不难了
一个典型的小程序首页通常包含这些部分:
1. 搜索框(入口)
你使用了 Vant 的 van-search,样式统一、免手搓组件,对新手非常友好。
2. 分类网格(8 个菜单)
使用 wx:for 循环,通过数据自动渲染:
xml
<block wx:for="{{menus}}">
<navigator>
<image src="{{item.typePic}}" />
<view>{{item.typeName}}</view>
</navigator>
</block>
这种结构非常适合新手入门:
数据驱动,改数据比改结构简单得多。
3. Swiper 轮播图
用于展示广告或主推内容。
4. 文章列表(信息流)
这部分是首页内容的主体,通过图片 + 文案组合,让用户快速浏览你的小程序内容价值。
四、样式如何适配?rpx 是你必须掌握的基础能力
小程序中的 rpx 是"响应式单位":
不管手机宽窄,小程序都会帮你等比例适配
也就是说:
- 设计图标注多少,你就写多少
- 不会在不同手机上变形
- 新手不用考虑复杂的适配方案
例如:
css
.article-column__img {
width: 100%;
height: 290rpx;
}
不用想太多,就是等比例缩放。
五、事件与交互(非常关键)
你在搜索框外层包了一个 bindtap,点击时跳转到搜索页:
sql
<view bindtap="toSearch">
<van-search />
</view>
对应 Page 里的方法:
javascript
toSearch(){
wx.navigateTo({
url:'/pages/search/search'
})
}
对新手来说,这里要理解的重点只有一个:
- wxml 里绑定事件
- js 里写方法
- 页面就能跳过去了
总结:从结构到交互,让你真正理解一个小程序首页是怎么跑起来的
本文从小程序的整体结构开始,带你一步步拆解首页是如何"跑"起来的。我们先了解了全局配置如何决定应用的基本框架,再看到页面文件如何各司其职:
- WXML 负责结构
- WXSS 负责样式
- JS 管理数据与事件
- JSON 做页面级配置
接着,我们将这些知识落地到真实的首页场景里,包括轮播图、分类宫格和内容信息流等常见模块。你不仅看到"写出来是什么样",也理解了"为什么这样写"------比如为什么要数据驱动页面、为什么要用 wx:for,以及为什么组件库能提升效率。
对于一个正在学习小程序的新手来说,这些能力其实已经足够让你搭建出一个可上线、可扩展、也容易维护的首页。更重要的是,你现在能把"看别人代码"变成"自己能写出来",这是学习前端道路上非常关键的一步。
如果你希望进一步提升,我们可以继续深入:做搜索页、做详情页、做全局状态管理、做接口数据联调......一步一步,你就能构建出一个完整的小程序产品。