分包没问题,就主包有问题。
线上小程序分包解析正常,主包 sourcemap 解析为 null[图片] 有开发者提过该问题,但至今尚未修复: 今年1月份:https://developers.weixin.qq.com/community/develop/doc/000a0a189f47c0ff266d753bb5bc00?highLine=sourcemap%2520%25E4%25B8%25BB%25E5%258C%2585%25E8%25A7%25A3%25E6%259E%2590%2520null去年9月份:https://developers.weixin.qq.com/community/develop/doc/000288fd5e0608d49dcc2476a5b400?highLine=sourcemap%2520%25E4%25B8%25BB%25E5%258C%2585%25E8%25A7%25A3%25E6%259E%2590%2520null 问下,在该Bug修复前,作为开发者的我们,有退一步的解决方案吗?
2022-06-07去年,有开发者就报了这个问题,至今官方还没有修复:https://developers.weixin.qq.com/community/develop/doc/000288fd5e0608d49dcc2476a5b400 我刚也提了一个,希望官方早点修复或给出退一步解决方案:https://developers.weixin.qq.com/community/develop/doc/000eeca78cce1096cf0e0534956400
sourceMap下载版本也是正确的 但是行号输入一直无法匹配,网上的各种办法都试了还是null?[图片][图片]
2022-06-06时至今日,问题依然存在!
为什么SourceMap解析有行号但列号为0?使用Taro开发 并执行 npm run build:weapp勾选上传大小自动压缩混淆(Terser)上传并下载sourcemap, 微信开发者工具版本: 1.05.2102010设置为体验版并在设备上触发js错误,获得报错行列号使用小程序提供的sourcemap文件解析,发现可以解析到源文件和行号,但没有列号。结果如下:{ source: 'pages/reportList/reportList.js', line: 1, column: 0, name: null } 提问原因:因为Taro压缩后单个js文件只有一行,现在根据微信提供的sourcemap解析出来行号一直为1, 无法根据行号和taro打包生成的sourcemap进一步定位源码的问题位置 实际问题:小程序下载的SourceMap能不能解析出列号? 2021-02-18 19:27 更新: 又做了进一步测试: 开启 ES6 转 ES5 + 上传代码自动压缩混淆(UglifyJs) 上传, 下载的sourcemap可以解析行列号开启 ES6 转 ES5 + 增强编译 + 上传代码自动压缩混淆(UglifyJs) 上传, 下载的sourcemap可以解析行列号增强编译 + 上传代码自动压缩混淆(Terser) 上传, 下载的sourcemap可以解析行列号单独使用上传代码自动压缩混淆(Terser) 上传, 下载的sourcemap 不能解析列号所以这个情况是BUG吗?
2022-04-21问题已解决: 要把 project.config.json 的 settings 中 minified 设置为 true. 才不为空。即:上传代码时自动压缩脚本文件。 [图片]
开发者工具上传代码后,下载的 sourceMap 都是空的?[图片] 还需要提供哪些额外信息吗?
2022-04-20如果确定是 BUG,请告知: BUG 的影响范围我们当前在做性能统计,会依赖这个 startTime,是否有兼容方案
PerformanceEntry的appLaunch,iPhone下startTime比实际晚2秒!测试步骤: 冷启动小程序。同时,在一旁用秒表,记录冷启动的点击时间,记为A。(备注:冷启动是,在小程序列表,下拉删除该小程序,然后再次点击启动该小程序)小程序启动后,通过 wx.getPerformance().getEntries() 方法查看 appLaunch 条目的 startTime,记为 B。比较 A 和 B在测试中,用两台安卓和两台苹果手机分别测试。测试结果: 安卓手机中,B - A ≈ ±100ms苹果手机中,B - A ≈ 2s,估计是某个步骤的耗时未统计(两台苹果手机是 iPhone 8 Plus 和 iPhone 11)部分操作过程截图: [图片]
2022-03-21补充:appLuanch 的 startTime + duration = 1645084657230,和 firstRender 指标的几个阶段的时间戳,都对不上。
appLaunch和firstRender的终点都是首页 onReady,但实际计算结果有误?是因为终点不是这样计算,还是它们就是有差值的? [图片]
2022-02-17疑惑2中,关于 navigationStart,结合 firstRender 来看,是逻辑层收到路由事件,也是真正路由开始响应时间。但对于这里的 startTime 和 navigationStart 区别的理解,还是没有本质的帮助。 [图片] [图片]
性能面板的切页面耗时跟PerformanceEntry的route有关系吗?官方资料: 性能面板PerformanceEntry路由在 PerformanceEntry 中,name = 'route' 的性能实体,有 startTime、duration、 navigationStart,我想统计页面切换耗时,有一些疑惑: startTime 是指,触发 wx.switchTab、wx.navigateTo 等路由切换方法的时刻吗?navigationStart 是指,触发路由切换后,前置环境准备已完成(比如包下载、代码注入),真正要开始切路由的时刻吗?路由切换完成的时间应该怎么统计:startTime + duration,还是 navigationStart + duration,还是其它?路由切换完成的时刻,跟切换的目标页面的生命周期(page.onLoad, page.onShow, page.onReady)有关系吗?比如,切换完成后,触发 page.onReady。[图片]
2022-02-17string moduleName 分包名,主包表示为 APP (2.21.2 开始)。仅 evaluateScript 指标有效。 —————— 在 2.21.2 版本之前,有办法做区分吗?比如,通过 PerformanceObserver 的监听,根据紧挨着的 route 中的 path 信息。
evaluateScript 性能指标,如何确认是打开哪个页面触发的?{ "name": "evaluateScript", "entryType": "script", "startTime": 1643013176652, "duration": 2139 } 在 PerformanceEntry 中,name = 'evaluateScript' 的性能实体。不包含 [代码]path[代码] 参数,所以怎么确认,这个代码注入是由于打开哪个页面触发的?
2022-02-17借楼问下。 最开始,我以为 startTime 都是大于 navigationStart,毕竟从开始,到真正开始,会有包下载、脚本注入时间等消耗。但实际上报上来的数据,发现 startTime 也有可能小于 navigationStart. 十分好奇,什么时候,会出现这个情况。
performance中获取的数据,navigationStart和startTime区别是什么?[图片]
2022-01-18同问。比如,页面切换时间中: navigation.navigationStart == firstRender.startTimenavigation.startTime + duration > firstRender.startTime + duration. 路由跳转的结束时间,算了下,超过了 firstRender 的结束时间,但具体是什么含义,没有阐述。[图片]
小程序性能指标是如何定义的?我们最近在做性能方面监控,想了解微信提供的页面渲染性能是如何定义的,以下是微信官方提供的获取页面性能的方法 const performance = wx.getPerformance() const observer = performance.createObserver((entryList) => { console.log('微信提供的性能数据',entryList.getEntries()) }) observer.observe({ entryTypes: ['render', 'script'] }) 我们自定义的页面首次渲染,是从页面的onLoad 至 onReady之间的耗时。 两方对比相差有几百毫秒,所以我想知道微信官方如何定义“页面首次渲染”,这个指标的
2021-11-23