背景与业务
当线上环境捕获错误日志时,需建立标准化处理流程确保问题闭环。本规范结合导购小程序特点和错误日志的日志级别指定,重点解决生产环境JS报错排查难的问题,同时及时处理异常报错增加线上环境的稳定性。
解决方案:
sourcemap对报错信息进行逆向解析
错误日志排查处理依赖前期的错误监控体系、动态版本号:
标准化处理流程
bash
level=1
[钉钉告警]--->[TAPD工单] ------> [研发修复] --->[测试验证] ----> [发布更新]
| |
| level>1 |
└--------------[迭代周期发布]-------------┘
SourceMap
1. 获取方式对比
- 微信公众后台下载(付费)
- CI脚本自动获取(免费)

2. 脚本获取
在小程序上传脚本之后添加sourcemap获取的脚本sourcemap.wx.js
,代码如下:
javascript
const env = process.env.NODE_ENV || 'prod'
const appid = process.env.APP_ID || 'wxxxxxxxxxxxxxxx'
const privateKeyPath = process.cwd() + '/' +`${env}key/private.`+ `${appid}` + '.key';
const version = process.env.VERSION || ''
const ci = require('miniprogram-ci');
const project = new ci.Project({
appid: appid,
type: 'miniProgram',
projectPath: process.cwd() + '/dist',
privateKeyPath: privateKeyPath,
ignores: [
'node_modules/**/*',
'devkey/**/*',
'prodkey/**/*',
'prekey/**/*',
],
reporter: (res)=> {
console.log('reporter: ', reporter)
}
})
ci.getDevSourceMap({
project,
robot: 1,
sourceMapSavePath: `./${version}.zip`
})
错误解析
报错信息
javascript
MiniProgramError
c is not a function
TypeError: c is not a function
at u (appservice.js:388:6358)
at WASubContext.js:1:103490
根据报错信息在错误监控平台找到具体的日志信息:

错误定位
通过微信小程序开发工具定位错误位置:
- 在日志库找到对应版本的sourcemap
- 在微信小程序调试器->sourcemap定位报错

版本管理
必须检查
✅ SourceMap文件与线上版本严格对应
✅ 生产环境Map文件保留期≥90天
优化建议
搭建SourceMap管理平台,实现错误日志一键解析:
- 版本文件自动归档
- 一键逆向解析