Taro小程序Sourcemap排查指北

338 阅读1分钟

背景

在一次日常监控告警中,发行了一个小程序上报的异常,这个错误是有行号和列号信息,但我尝试通过sourcemap 无法映射到正确的位置。

出现这个问题的原因是微信会对Taro编译后的代码进行再次编译,生成新的代码。我们可以再上传代码时上传Taro build产生的sourcemap,微信会基于这份sourcemap和编译后的代码再次进行打包,生成最终代码和微信的sourcemap。

Taro编译改造

首先在Taro配置中开启sourcemap。

  • config/prod.js
module.exports = {
  env: {
    NODE_ENV: '"production"',
  },
  defineConstants: {},
  mini: {
    enableSourceMap: true,
    sourceMapType: 'source-map',
 }
}

sourcemap拉取

微信开放平台拉取sourcemap需要付费,但是可以使用miniprogram-ci免费拉取sourcemap。

npx miniprogram-ci get-dev-source-map \
  --pp ./ \
  --pkp 【密钥相对路径】 \
  --appid 【你的APPID】 \
  -r 1 --source-map-save-path ./sourcemap.zip