微信小程序开发中,有哪些基础知识点是新手必须掌握的?
- 内容介绍
- 文章标签
- 相关推荐
为什么新手总是卡在“不会搭环境”这一步?不过,
很多刚接触微信小程序的同学会遇到以下痛点:
- 不知道该下载哪个版本的微信开发者工具。导致调试时出现兼容性问题。
- 项目初始化后文件结构一团乱,不知道哪些文件是必需的。
- 配置 AppID 时总是报错,导致无法预览。
快速搭建开发环境
1️⃣ 下载并安装最新的 微信开发者工具。2️⃣ 注册微信小程序账号并完成主体认证后在后台获取 AppID。3️⃣ 在工具中选择“新建项目”。填写 AppID 并勾选 “不使用云开发” 或 “启用云开发”,即可生成标准目录结构。
文件结构到底该怎么组织才能让代码易维护?
新手经常把所有页面和组件都放在根目录,导致查找困难、命名冲突频发。老实说,
推荐的目录规范
├─ app.js // 小程序入口逻辑 ├─ app.json // 全局配置。包括页面方法 ├─ app.wxss // 全局样式 ├─ pages/ // 页面文件夹 │ ├─ index/ │ │ ├─ index.wxml │ │ ├─ index.wxss │ │ └─ index.js │ └─ logs/ │ ├─ logs.wxml │ ├─ logs.wxss │ └─ logs.js ├─ components/ // 可复用组件 │ └─ my-header/ │ ├─ my-header.wxml │ ├─ my-header.wxss │ └─ my-header.js └─ utils/ // 工具函数库 └─ request.js // 封装网络请求
页面适配总是“看起来很怪”,到底该怎么做才靠谱?
很多新人在不同机型上看到页面错位、文字大小不一致,根本原因是没有正确使用微信提供的尺寸单位。
使用 rpx 实现全局适配
rpx 是相对屏幕宽度的单位,1rpx ≈ 屏幕宽度 1/750。
-
布局容器:
- wxss 示例:
.container {
width的观点是,100%;怎么说呢,padding: 30rpx;}
.title {
font-size: 36rpx;margin-bottom: 20rpx;}
数据绑定和状态管理总是“更新不及时”,怎么办?
最常用的数据绑定方式
wxml:
{{message}}
js:
Page({
从data来看。{
message: 'Hello 微信小程序'
},changeMessage {
this.setData;}
}),
状态提高的观点是,全局共享数据
当多个页面需要共享同一份数据时可以利用 App 的全局对象或第三方状态库管理。
组件复用难题的观点是,每次都要复制粘贴相同代码?
自定义组件基本写法
// components/my-button/my-button.wxml
// components/my-button/my-button.js
Component({
properties: {
至于label。String,customClass: String
},methods: {
handleTap {
this.triggerEvent;}
}
}),
User Pain Point:经常因为忘记在 usingComponents 中注册导致组件渲染失败,只要在对应页面或全局的 .json 文件里统一声明即可。
API 调用频繁报错:到底是哪里出了问题?
#1 网络请求封装示例
// utils/request.js
function request {
return new Promise => {
wx.request({
url。
data,method,header: { 'content-type': 'application/json' },success {
if resolve;else reject,},fail { reject;}
}),});}
export default request;
#2 常见错误及方法
-
Error code 40001 – token 已失效:重新调用登录接口获取 fresh 的
session_key/UserInfo. - Error code 45009 – 调用次数超限:合并请求或使用云函数进行批量处理。
- CORS 差不多问题:wx.request 本身跨域安全,但需要在后台配置白名单。老实说,
# 调试技巧 & 发布流程。让你少走弯路,
* 调试技巧 *
- "预览" 与 "真机调试" 的区别:true device 能捕获真实网络延迟和硬件差异。话说回来,
- "Console" 输出定位问题:`wx.showToast` 用于快速提示;`console.log` 在真机上可通过 “调试器 → 日志” 查看。
- "代码分包" 的常用方法:`subpackages` 能显著降低首屏加载时间,但请确保公共资源放在主包。
* 发布流程 *
- 完成所有功能后在开发者工具点击「上传」并填写版本号 / 描述。
- CICD的观点是。通过 GitHub Actions 自动化提交审查,提高团队协作效率。
- A/B 测试:利用「体验版」先行发布给内部测试使用者,收集反馈再上线。
# 常见痛点汇总 & 快捷方式
| Pain Point | Eureka! | |||||||
|---|---|---|---|---|---|---|---|---|
| "找不到组件引用位置" | "统一在 pages.json 或全局 app.json 中声明 usingComponents" | |||||||
| "样式冲突,外层 view 覆盖了内部样式" | "采用 scoped 样式:在 .wxss 中使用 .my-component-xxx 前缀" | "接口返回 undefined" | "检查 request header 是否带上了 correct token;使用 Promise 捕获异常" | "真机运行报错但编辑器不报错""打开真机调试模式,查看 console 输出;注意 API 权限是否已在后台勾选" | "分页加载卡死""使用 wx.pageScrollTo + 防抖函数;分页数据建议放在 onReachBottom 中请求" | "图片显示模糊或超出边界""统一采用 rpx 单位;为图片设置 mode='aspectFit' 或 mode='widthFix'"} | "项目体积过大,上线审查被拒""开启分包加载;压缩图片,移除未使用的 component 和 library" | "找不到错误堆栈信息""开启 debug 模式,在 app.json 添加 \"debug\": true;结合 source map 使用 VSCode 插件查看源码行号" | 💡 小技巧:每次提交前运行 `npm run lint` 检查代码规范,可显著降低审查被驳回率。
# 学习资源 & 社区推荐
- - 官方文档:
- - 小程序 UI 框架:Vant Weapp、WeUI、NutUI Mini 等,可快速搭建交互界面。
- - 视频教程:Bilibili 「小程序入门系列」+ 「进阶实战」课程。每集约30分钟,适合碎片化学习。- 社区交流:微信群「微信小程序技术交流群」、GitHub 上的「wechat-miniprogram」仓库还有 StackOverflow 中文版都有活跃答疑。
为什么新手总是卡在“不会搭环境”这一步?不过,
很多刚接触微信小程序的同学会遇到以下痛点:
- 不知道该下载哪个版本的微信开发者工具。导致调试时出现兼容性问题。
- 项目初始化后文件结构一团乱,不知道哪些文件是必需的。
- 配置 AppID 时总是报错,导致无法预览。
快速搭建开发环境
1️⃣ 下载并安装最新的 微信开发者工具。2️⃣ 注册微信小程序账号并完成主体认证后在后台获取 AppID。3️⃣ 在工具中选择“新建项目”。填写 AppID 并勾选 “不使用云开发” 或 “启用云开发”,即可生成标准目录结构。
文件结构到底该怎么组织才能让代码易维护?
新手经常把所有页面和组件都放在根目录,导致查找困难、命名冲突频发。老实说,
推荐的目录规范
├─ app.js // 小程序入口逻辑 ├─ app.json // 全局配置。包括页面方法 ├─ app.wxss // 全局样式 ├─ pages/ // 页面文件夹 │ ├─ index/ │ │ ├─ index.wxml │ │ ├─ index.wxss │ │ └─ index.js │ └─ logs/ │ ├─ logs.wxml │ ├─ logs.wxss │ └─ logs.js ├─ components/ // 可复用组件 │ └─ my-header/ │ ├─ my-header.wxml │ ├─ my-header.wxss │ └─ my-header.js └─ utils/ // 工具函数库 └─ request.js // 封装网络请求
页面适配总是“看起来很怪”,到底该怎么做才靠谱?
很多新人在不同机型上看到页面错位、文字大小不一致,根本原因是没有正确使用微信提供的尺寸单位。
使用 rpx 实现全局适配
rpx 是相对屏幕宽度的单位,1rpx ≈ 屏幕宽度 1/750。
-
布局容器:
- wxss 示例:
.container {
width的观点是,100%;怎么说呢,padding: 30rpx;}
.title {
font-size: 36rpx;margin-bottom: 20rpx;}
数据绑定和状态管理总是“更新不及时”,怎么办?
最常用的数据绑定方式
wxml:
{{message}}
js:
Page({
从data来看。{
message: 'Hello 微信小程序'
},changeMessage {
this.setData;}
}),
状态提高的观点是,全局共享数据
当多个页面需要共享同一份数据时可以利用 App 的全局对象或第三方状态库管理。
组件复用难题的观点是,每次都要复制粘贴相同代码?
自定义组件基本写法
// components/my-button/my-button.wxml
// components/my-button/my-button.js
Component({
properties: {
至于label。String,customClass: String
},methods: {
handleTap {
this.triggerEvent;}
}
}),
User Pain Point:经常因为忘记在 usingComponents 中注册导致组件渲染失败,只要在对应页面或全局的 .json 文件里统一声明即可。
API 调用频繁报错:到底是哪里出了问题?
#1 网络请求封装示例
// utils/request.js
function request {
return new Promise => {
wx.request({
url。
data,method,header: { 'content-type': 'application/json' },success {
if resolve;else reject,},fail { reject;}
}),});}
export default request;
#2 常见错误及方法
-
Error code 40001 – token 已失效:重新调用登录接口获取 fresh 的
session_key/UserInfo. - Error code 45009 – 调用次数超限:合并请求或使用云函数进行批量处理。
- CORS 差不多问题:wx.request 本身跨域安全,但需要在后台配置白名单。老实说,
# 调试技巧 & 发布流程。让你少走弯路,
* 调试技巧 *
- "预览" 与 "真机调试" 的区别:true device 能捕获真实网络延迟和硬件差异。话说回来,
- "Console" 输出定位问题:`wx.showToast` 用于快速提示;`console.log` 在真机上可通过 “调试器 → 日志” 查看。
- "代码分包" 的常用方法:`subpackages` 能显著降低首屏加载时间,但请确保公共资源放在主包。
* 发布流程 *
- 完成所有功能后在开发者工具点击「上传」并填写版本号 / 描述。
- CICD的观点是。通过 GitHub Actions 自动化提交审查,提高团队协作效率。
- A/B 测试:利用「体验版」先行发布给内部测试使用者,收集反馈再上线。
# 常见痛点汇总 & 快捷方式
| Pain Point | Eureka! | |||||||
|---|---|---|---|---|---|---|---|---|
| "找不到组件引用位置" | "统一在 pages.json 或全局 app.json 中声明 usingComponents" | |||||||
| "样式冲突,外层 view 覆盖了内部样式" | "采用 scoped 样式:在 .wxss 中使用 .my-component-xxx 前缀" | "接口返回 undefined" | "检查 request header 是否带上了 correct token;使用 Promise 捕获异常" | "真机运行报错但编辑器不报错""打开真机调试模式,查看 console 输出;注意 API 权限是否已在后台勾选" | "分页加载卡死""使用 wx.pageScrollTo + 防抖函数;分页数据建议放在 onReachBottom 中请求" | "图片显示模糊或超出边界""统一采用 rpx 单位;为图片设置 mode='aspectFit' 或 mode='widthFix'"} | "项目体积过大,上线审查被拒""开启分包加载;压缩图片,移除未使用的 component 和 library" | "找不到错误堆栈信息""开启 debug 模式,在 app.json 添加 \"debug\": true;结合 source map 使用 VSCode 插件查看源码行号" | 💡 小技巧:每次提交前运行 `npm run lint` 检查代码规范,可显著降低审查被驳回率。
# 学习资源 & 社区推荐
- - 官方文档:
- - 小程序 UI 框架:Vant Weapp、WeUI、NutUI Mini 等,可快速搭建交互界面。
- - 视频教程:Bilibili 「小程序入门系列」+ 「进阶实战」课程。每集约30分钟,适合碎片化学习。- 社区交流:微信群「微信小程序技术交流群」、GitHub 上的「wechat-miniprogram」仓库还有 StackOverflow 中文版都有活跃答疑。

