微信小程序页面(pages目录下)创建方式总结
·
最新补充两种
1、先在pages下新建文件夹,然后在文件夹上右键新建page,输入和文件夹同名内容,然后回车自动创建四个文件

2、在app.json中pages配置里,手动输入例如:“pages/cart/cart”,则保存后自动在pages下创建cart文件夹和四个文件

在微信小程序中,每个页面由一个独立的文件夹组成,该文件夹下必须包含四个基本文件:[.json](file://D:\workspace\me\rbac2024\read\后台系统\shop-api\itmk-base-web\target\classes\META-INF\spring-configuration-metadata.json)、.wxml、.wxss 和 .js。这四个文件分别用于定义页面配置、结构、样式和逻辑。

一、pages 页面下每个文件夹中的四个文件含义
| 文件名 | 后缀 | 类型 | 作用说明 |
|---|---|---|---|
index.json | [.json](file://D:\workspace\me\rbac2024\read\后台系统\shop-api\itmk-base-web\target\classes\META-INF\spring-configuration-metadata.json) | 配置文件 | 页面级配置(如窗口样式),会覆盖 app.json 中的 window 设置 |
index.wxml | WXML | 模板文件 | 页面结构(类似 HTML,但支持小程序标签) |
index.wxss | WXSS | 样式文件 | 页面样式(类似 CSS,支持 rpx 单位) |
index.js | JS | 脚本文件 | 页面逻辑、数据绑定、生命周期函数等 |
二、创建页面的方式有哪些?
方式一:手动创建(推荐)
步骤:
- 在项目目录下的
pages文件夹中新建一个文件夹,例如pages/home/ - 在该文件夹中创建四个必要文件:
home.jsonhome.wxmlhome.wxsshome.js
- 将新页面路径添加到
app.json的pages数组中
示例代码:
1. app.json 添加页面路径
{
"pages": [
"pages/home/home", // 新增页面
"pages/logs/logs"
],
"window": {
"navigationBarTitleText": "我的小程序",
"navigationStyle": "custom"
}
}
注:第一个页面是启动页
2. home.json(页面配置)
{
"usingComponents": {}, // 引用自定义组件
"disableScrollReport": false, // 是否禁用滚动监听
"style": "v2" // 启用新版样式系统
}
3. home.wxml(页面结构)
<view class="container">
<text class="title">欢迎来到首页</text>
<button bindtap="onClick">点击我</button>
</view>
4. home.wxss(页面样式)
.container {
display: flex;
flex-direction: column;
align-items: center;
padding-top: 20rpx;
}
.title {
font-size: 36rpx;
color: #333;
margin-bottom: 20rpx;
}
5. home.js(页面逻辑)
Page({
data: {
message: 'Hello MiniProgram'
},
// 页面加载时触发
onLoad(options) {
console.log('页面加载完成');
},
// 点击事件处理函数
onClick() {
this.setData({
message: '你点击了按钮!'
});
}
});
方式二:通过开发者工具自动创建
步骤:
- 打开微信开发者工具
- 右键点击左侧“编辑器”面板中的
pages文件夹 - 选择 【新建页面】
- 输入页面名称(如
about) - 工具会自动生成
about/about.json、about/about.wxml等四个文件,并自动注册到app.json
方式三:使用命令行或脚手架工具(进阶)
可以结合 npm scripts 或定制脚本自动生成页面模板,适用于团队开发或自动化流程。
示例脚本(Node.js)片段:
const fs = require('fs');
const path = require('path');
function createPage(pageName) {
const dirPath = path.join(__dirname, 'pages', pageName);
if (!fs.existsSync(dirPath)) fs.mkdirSync(dirPath);
fs.writeFileSync(path.join(dirPath, `${pageName}.json`), JSON.stringify({}, null, 2));
fs.writeFileSync(path.join(dirPath, `${pageName}.wxml`), `<view class="container">${pageName} 页面</view>`);
fs.writeFileSync(path.join(dirPath, `${pageName}.wxss`), '.container { padding: 20rpx; }');
fs.writeFileSync(path.join(dirPath, `${pageName}.js`), `Page({ data: {}, onLoad() {} });`);
}
createPage('contact');
运行后将生成 pages/contact/contact.* 四个文件。
三、四种创建方式对比总结表格
| 创建方式 | 是否推荐 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|---|
| 手动创建 | ✅ 推荐 | 学习/调试/小型项目 | 控制精细、理解结构 | 需要重复创建多个文件 |
| 开发者工具自动创建 | ✅ 推荐 | 快速开发、团队协作 | 快捷方便、自动注册 | 依赖 IDE |
| 命令行脚本创建 | ⚠️ 进阶 | 大型项目、自动化流程 | 提升效率、统一结构 | 需要编写维护脚本 |
| 第三方脚手架 | ❌ 不常用 | 特定框架项目 | 支持模块化开发 | 增加复杂度、学习成本高 |
四、补充说明
- 页面路径不能带后缀:
pages/home/home是正确的写法,不要写成pages/home/home.json - 页面配置可覆盖全局配置:如
home.json中设置的window属性会覆盖app.json中的同名配置 - WXML 与 HTML 的区别:不支持所有 HTML 标签,需使用
<view>、<text>等小程序内置组件 - WXSS 支持 rpx 单位:适合响应式布局,1rpx = 0.5px(在 iPhone6 上)
五、总结
微信小程序的每个页面都由四个核心文件组成,分别负责配置、结构、样式和逻辑。创建页面的方式包括:
- 手动创建:理解结构的最佳方式
- 开发者工具自动创建:适合快速开发
- 命令行脚本创建:适合自动化流程
- 第三方脚手架:适用于特定框架项目(非必需)
合理选择创建方式,有助于提升开发效率和代码规范性。如果你需要我帮你批量生成页面模板,也可以告诉我~
更多推荐
所有评论(0)