Skip to content

02 小游戏开发环境搭建

预计阅读 20 分钟
版本信息
最后更新:2026-07-09 · 适用基础库:≥ 3.9.0(最低兼容 ≥ 2.30.0)· 微信开发者工具:稳定版 1.06+

本章将带你搭建完整的微信小游戏开发环境,从前端开发工具链平滑过渡到游戏开发工作流。


2.1 必需工具清单

工具用途是否必需
微信开发者工具小游戏调试、预览、上传✅ 必需
VS Code(或 WebStorm)代码编辑✅ 必需
Cocos Creator / LayaAir IDE可视化游戏编辑器⚠️ 引擎开发时需要
Node.js ≥ 18构建工具链✅ 必需
Git版本控制✅ 必需
微信小程序账号发布与测试✅ 必需

AI 编程助手选型建议

虽然不是必需,但配置一个 AI 编程助手可以显著降低前端转游戏开发的学习曲线:

工具适合场景预算微信小游戏注意
GitHub Copilot代码补全、简单脚本$10/月与 VS Code 深度集成
Cursor快速原型、多文件修改$20/月起AI 原生 IDE,适合「边说边改」
Claude Code复杂重构、大代码库$20/月起上下文窗口大,重度使用成本较高
通义灵码 / Trae中文场景、国产模型免费/低付费对国内生态和中文 Prompt 更友好

2.2 微信开发者工具

下载与安装

  1. 访问 微信开发者工具下载页面
  2. 选择对应操作系统的稳定版下载
  3. 安装完成后扫码登录

项目创建

打开微信开发者工具 → 选择「小游戏」→ 填入 AppID(测试可用「测试号」)

核心配置(game.json)

game.json 是小游戏的全局配置文件,常用的合法字段如下:

json
{
  "deviceOrientation": "portrait",
  "showStatusBar": false,
  "networkTimeout": {
    "request": 10000,
    "connectSocket": 10000,
    "uploadFile": 10000,
    "downloadFile": 10000
  },
  "subpackages": [],
  "workers": "",
  "fitScreenMode": "default",
  "isHighPerformanceMode": false,
  "isHighPerformancePlusMode": false
}
配置字段说明
  • deviceOrientation:屏幕方向,portrait(竖屏)/landscape(横屏)/landscapeLeft/landscapeRight
  • showStatusBar:是否显示系统状态栏,游戏通常设为 false
  • networkTimeout:各类网络请求的超时时间(毫秒)。
  • subpackages:分包配置,非核心资源可按关卡/模块拆分。
  • workers:Worker 脚本目录,用于多线程计算。
  • fitScreenMode:适配模式,default / wrap / stretch 等。
  • isHighPerformanceMode / isHighPerformancePlusMode:iOS 高性能/高性能+模式开关,详见进阶篇。

项目配置(project.config.json)

appid、编译设置、多环境切换等在微信开发者工具层面的配置位于 project.config.json不在 game.json

json
{
  "description": "项目配置文件",
  "packOptions": { "ignore": [] },
  "setting": {
    "urlCheck": false,
    "es6": true,
    "enhance": true
  },
  "compileType": "game",
  "libVersion": "3.9.0",
  "appid": "wxYOUR_APPID_HERE",
  "projectname": "wechat-minigame-guide",
  "condition": {}
}

多环境切换时,准备多份 project.config.json(如 project.config.dev.jsonproject.config.prod.json),构建脚本或 CI 中复制替换即可。

2.3 从 VSCode 到游戏编辑器

前端对比:开发环境差异
维度前端开发小游戏开发
代码编辑器VSCode / WebStorm相同
预览调试Chrome DevTools微信开发者工具
热更新Vite HMR需手动刷新或配置构建脚本
真机测试浏览器设备模拟必须扫码真机测试
包管理npm/pnpm相同

2.4 前端工程化工具在小游戏中的适配

  • TypeScript — Cocos Creator 3.x 原生支持
  • ESLint / Prettier — 完全兼容
  • Git / GitHub — 标准使用
  • CI/CD — GitHub Actions 可用于自动构建
  • ⚠️ npm 包 — 需注意包体大小,避免过大依赖

2.5 真机调试技巧

微信小游戏的真机表现与开发者工具模拟器存在差异,必须在真机上验证关键功能

vConsole 集成

vConsole 是调试微信小游戏的核心工具,可在真机上查看 console 日志和网络请求:

javascript
// 仅开发环境启用 vConsole(注意:上线前必须移除或条件编译排除)
const vConsole = require('vconsole')
new vConsole()

在 Cocos Creator 中集成 vConsole:

  1. npm install vconsole 在项目根目录
  2. 在第一个场景的入口脚本中动态加载
  3. 构建时通过宏 #if DEBUG 条件编译排除

微信开发者工具远程调试

  1. 开发者工具 → 点击「真机调试」按钮
  2. 手机扫码连接
  3. 工具端可看到真机上的 Console、Network、Elements、Storage
  4. 支持断点调试(注意:真机调试模式下性能会降低,仅用于问题排查)

常见真机问题排查

问题可能原因排查方法
屏幕显示异常fitScreenMode 配置不正确检查 game.json 中的 fitScreenModedeviceOrientation
点击无响应触摸事件未正确绑定vConsole 查看是否有报错,检查 Canvas 层级
资源加载失败网络问题或路径错误远程调试 Network 面板查看请求状态
闪退/黑屏内存溢出或未捕获异常使用 wx.onError 捕获全局错误(详见进阶篇监控章节)

iOS 与 Android 差异处理

  • iOS:音频自动播放受限(需用户首次触摸后解锁 AudioContext),WKWebView 内存更严格
  • Android:碎片化严重,需至少测试低端机型(千元机)+ 高端机型各 1 款
  • 通用策略:在 wx.getSystemInfoSync() 获取平台信息后,按平台分支处理差异逻辑
javascript
const sysInfo = wx.getSystemInfoSync()
const isIOS = sysInfo.platform === 'ios'
const isAndroid = sysInfo.platform === 'android'

if (isIOS) {
  // iOS 专属处理:如手动解锁 AudioContext
} else if (isAndroid) {
  // Android 专属处理:如降低某些特效质量
}

2.6 性能分析工具配置

在开发阶段就建立性能基线,比上线后被动优化高效得多。早期工具配置包括:

微信开发者工具 Performance 面板

  1. 打开微信开发者工具 → 调试器Performance 标签
  2. 点击录制按钮 → 操作游戏 → 停止录制
  3. 分析帧时间线(Frame Chart),关注:
    • FPS 曲线:是否频繁掉到 60 帧以下
    • 脚本耗时update 函数中是否有耗时操作
    • 渲染耗时:Draw Call 是否过高

wx.getPerformance() 基础用法

javascript
// 获取当前性能数据
const performance = wx.getPerformance()
const entries = performance.getEntries()

// 在开发阶段监听帧率
let lastTime = Date.now()
let frameCount = 0

function monitorFPS() {
  frameCount++
  const now = Date.now()
  if (now - lastTime >= 1000) {
    const fps = Math.round((frameCount * 1000) / (now - lastTime))
    console.log(`当前 FPS: ${fps}`)
    frameCount = 0
    lastTime = now
  }
  requestAnimationFrame(monitorFPS)
}
monitorFPS()
相关阅读

更完整的性能分析方案(PerfDog 真机测试、Cocos Profiler、帧耗时监控等),详见进阶篇 性能分析工具实操


2.7 多引擎环境配置

在实际学习和工作中,你可能需要在同一台机器上安装多个引擎。以下是最佳实践:

引擎共存策略

引擎版本管理器建议安装方式
Cocos CreatorCocos Dashboard可同时安装多个版本(2.x + 3.x 共存)
UnityUnity Hub管理多个 Unity 版本和项目
LayaAir独立 IDE 安装包无需管理器,多个版本安装到不同目录

避免引擎冲突

  1. 引擎项目目录隔离 — 不要将不同引擎的项目放在同一父目录下共享 node_modules
  2. 环境变量区分 — 如有引擎全局 CLI,通过 PATH 或别名区分版本
  3. 缓存目录清理 — Cocos Creator 和 LayaAir IDE 的缓存目录定期清理,避免磁盘占用
bash
# Cocos Creator 缓存(通常在)
~/CocosCreator/  # 编辑器本身
%USERPROFILE%/.CocosCreator/  # Windows 用户数据

# LayaAir IDE 缓存
%USERPROFILE%/.LayaAir/

# Unity 缓存
%USERPROFILE%/AppData/Local/Unity/
  1. VS Code 工作区配置 — 为不同引擎项目配置独立的 .vscode/settings.json,避免 TypeScript 版本冲突
初学者建议

如果是第一次接触游戏开发,建议先只安装 Cocos Creator(一个版本即可),按照本教程的 Flappy Bird 项目走完完整流程后再根据需要尝试其他引擎。不要一开始就陷入"选哪个引擎"的决策困境。 先用一个引擎做出东西来,这是最重要的。


📝 课后练习

练习 1:开发环境诊断

题目: Cocos Creator 项目在微信开发者工具中可以运行,但真机预览时黑屏。列出至少 5 个排查方向。

参考答案:

  1. 基础库版本 — 真机基础库版本过低,用 wx.canIUse 做能力检测
  2. AppID 配置 — 真机预览需要正确的 AppID
  3. 域名白名单 — 网络请求域名未在后台配置
  4. ES6+ 语法 — 低端安卓机 JavaScript 引擎不支持某些新特性
  5. Canvas 尺寸 — 真机分辨率与开发者工具不一致
  6. vConsole 缺失 — 真机上看不到 console.error 输出
练习 2:调试技巧

题目: 在真机调试时发现游戏帧率只有 30fps(开发者工具中是 60fps)。描述排查步骤和优化方案。

参考答案:

  • 排查:① 用 PerfDog 确认真实 FPS;② 检查 Draw Call 数量;③ 检查纹理内存占用;④ 检查 JS 主线程计算量
  • 优化:① 降低目标帧率(休闲游戏 30fps 即可);② 使用纹理压缩(ETC2/ASTC);③ 使用对象池减少 GC;④ 低端机降质运行

📚 相关阅读

用心学习,持续实践