如何开发微信小程序

从0到1打造你的第一个微信小程序

一、前言:为什么从"第一个小程序"开始?

学习任何新技术,动手写第一个"Hello World"都是最有效的入门方式。对于微信小程序来说,你的"第一个小程序"不仅能让你熟悉开发流程,还能建立对小程序结构、语法和调试方式的直观认知。本文将带你:

✅ 注册小程序账号(测试号免审核)

✅ 安装并配置开发者工具

✅ 创建项目并理解目录结构

✅ 编写一个显示"Hello, 我的第一个小程序!"的页面

✅ 真机预览与调试技巧

💡无需服务器、无需域名、无需企业资质------ 使用测试号即可本地开发!

二、准备工作:账号与工具

  1. 注册小程序账号

测试号(推荐):访问微信公众平台,选择"小程序"->"前往注册"->"测试号申请",填写基本信息即可获得测试号,无需等待审核。

正式账号:若需发布上线,需完成企业/个人资质认证,流程相对复杂,适合有长期开发需求的用户。

  1. 安装开发者工具

下载地址:微信开发者工具官网

安装完成后,打开工具并扫码登录,选择"小程序"->"新建项目",输入测试号的AppID(可在测试号管理页面获取),填写项目名称和存储路径,点击"确定"即可创建项目。

三、项目结构解析

创建项目后,你会看到以下目录结构:

├── app.js # 小程序入口文件,处理全局逻辑

├── app.json # 全局配置文件,定义页面路径、窗口样式等

├── app.wxss # 全局样式文件,作用于所有页面

├── project.config.json # 项目配置(自动生成,无需手动修改)

└── pages/ # 页面目录,每个页面包含四个文件

└── index/

├── index.js # 页面逻辑文件

├── index.json # 页面配置文件

├── index.wxml # 页面结构文件

└── index.wxss # 页面样式文件

核心概念:

.wxml:WeiXin Markup Language,用于描述页面结构,类似HTML,但有自己的标签(如<view>、<text>、<button>)。

.wxss:WeiXin Style Sheet,用于设置样式,类似CSS,但支持响应式单位rpx(1rpx = 屏幕宽度 / 750)。

.js:处理交互逻辑,如事件绑定、数据处理等。

.json:配置文件(无注释,纯JSON),用于设置页面标题、导航栏样式等。

四、编写你的第一个页面

我们来修改默认页面,让它显示:"Hello, 我的第一个小程序!",并添加一个点击按钮。

  1. 修改index.wxml(页面结构)

<view class="container">

<text class="title">Hello, 我的第一个小程序!</text>

<button bindtap="showToast" class="btn">点击我</button>

</view>

  1. 修改index.wxss(页面样式)

.container {

display: flex;

flex-direction: column;

align-items: center;

justify-content: center;

height: 100vh;

background-color: #f5f5f5;

}

.title {

font-size: 32rpx;

color: #333;

margin-bottom: 30rpx;

}

.btn {

width: 200px;

background-color: #07c160;

color: white;

border-radius: 5px;

}

💡 注意:小程序使用rpx作为响应式单位,能自动适配不同屏幕尺寸的手机。

  1. 修改index.js(交互逻辑)

Page({

showToast() {

wx.showToast({

title: '你点击了按钮!',

icon: 'success'

})

}

})

  1. 修改index.json(页面配置)

{

"navigationBarBackgroundColor": "#07c160",

"navigationBarTitleText": "我的第一个小程序",

"navigationBarTextStyle": "white"

}

五、运行与预览

  1. 模拟器预览

保存所有文件(Ctrl+S / Cmd+S),开发者工具左侧会自动编译并刷新模拟器。点击按钮,查看toast提示。

  1. 真机预览(需微信扫码)

点击工具栏【预览】,微信扫码即可在手机上体验。

⚠️ 注意:测试号真机预览有次数限制(每天约5次)。

六、小程序运行原理与生命周期

  1. 全局生命周期(app.js)

app.js中的App({})函数是小程序的构造函数,整个小程序从这里开始执行。其中:

onLaunch:小程序启动时触发,只执行一次,适合做初始化操作(如获取用户信息、加载全局数据)。

onShow:小程序从后台进入前台时触发。

onHide:小程序从前台进入后台时触发。

示例:

App({

onLaunch() {

console.log('小程序启动了!')

// 可以在这里调用API获取用户信息

wx.getUserInfo({

success: res => {

console.log('用户信息:', res.userInfo)

}

})

},

onShow() {

console.log('小程序显示了!')

},

onHide() {

console.log('小程序隐藏了!')

}

})

  1. 页面生命周期(index.js)

每个页面的Page({})函数中包含页面的生命周期函数:

onLoad:页面加载时触发,只执行一次,适合接收页面参数。

onShow:页面显示时触发,每次打开页面都会执行。

onReady:页面初次渲染完成时触发,适合操作DOM。

onHide:页面隐藏时触发。

onUnload:页面卸载时触发。

示例:

Page({

onLoad(options) {

console.log('页面加载了,参数:', options)

},

onShow() {

console.log('页面显示了!')

},

onReady() {

console.log('页面渲染完成了!')

}

})

七、常见问题解答(FAQ)

❓ Q1: 为什么保存后页面没更新?

A: 检查文件是否保存成功;确保没有语法错误(如JSON格式错误,JSON文件中不能有注释)。

❓ Q2: 能否用Vue/React写小程序?

A: 可以使用第三方框架(如Taro、uni-app),它们支持用Vue/React语法开发小程序,最终编译为微信小程序原生代码。但新手建议先掌握原生开发,再学习框架。

❓ Q3: 真机预览时提示"该小程序已被删除"?

A: 测试号的AppID可能已过期,需重新申请测试号并更新项目配置中的AppID。

八、总结与下一步

通过本文,你已经完成了第一个小程序的开发,掌握了:

小程序的基本结构和核心文件作用

页面布局、样式和交互逻辑的编写

模拟器和真机预览的调试方法

全局和页面生命周期的基本概念

下一步,你可以尝试:

学习小程序API,如网络请求(wx.request)、本地存储(wx.setStorageSync)等。

开发多页面小程序,使用wx.navigateTo进行页面跳转。

了解小程序云开发,无需搭建服务器即可实现数据库、云函数等功能。

小程序生态丰富,应用场景广泛,从电商、资讯到工具类应用应有尽有。只要坚持实践,你很快就能开发出实用的小程序!

相关推荐
inksci19 小时前
Js生成安全随机数
前端·微信小程序
azhou的代码园20 小时前
基于SpringBoot+微信小程序的图片识别科普系统
spring boot·后端·微信小程序
万岳科技系统开发1 天前
外卖系统选型与源码与 SaaS 实践的思考
数据库·小程序
志遥1 天前
我把 Sentry 接进了 7 端小程序:从异常捕获、Breadcrumb 到 Source Map 定位
微信小程序·监控
云起SAAS1 天前
在线客服系统源码 | 支持PC管理端+H5访客端+实时聊天
微信小程序·ai编程·看广告变现轻·在线客服系统源码
叶子野格1 天前
Notepad++编写html文件使用D3绘图:数据可视化
笔记·学习·信息可视化·开源·notepad++
bug总结1 天前
小程序云函数 vs 传统前后端分离(阿里云)原理解析
阿里云·小程序·云计算
2501_933907211 天前
如何通过上海本凡科技获得优质的小程序开发服务?
科技·微信小程序·小程序
计算机徐师兄1 天前
Java基于微信小程序的青少年科普教学系统【附源码、文档说明】
java·微信小程序·青少年科普教学系统小程序·java青少年科普教学小程序·青少年科普教学微信小程序·青少年科普教学小程序·科普教学微信小程序