uni-app 使用onPageScroll onShareAppMessage onShareTimeline API的页面,生成的sourcemap未包含源码,导致无法反解

uni-app 使用onPageScroll onShareAppMessage onShareTimeline API的页面,生成的sourcemap未包含源码,导致无法反解

开发环境 版本号 项目创建方式
PC Mac CLI
操作系统 14.4 (23E214)
工具 stable 1.06.2405020
基础库 3.5.3
CLI uni/3.0.0-4020420240722002 darwin-arm64 node-v20.16.0

产品分类:uniapp/小程序/微信

操作步骤:

  1. 按官方文档,使用命令生成默认vue3+ts项目
    npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project
    
  2. 配置vite.config.ts,支持生成sourcemap文件
    import { defineConfig } from "vite";  
    import uni from "[@dcloudio](/user/dcloudio)/vite-plugin-uni";  
    
    // https://vitejs.dev/config/  
    export default defineConfig({  
      build: {  
        sourcemap: true, // 新增sourcemap配置  
      },  
      plugins: [uni()],  
    });
    
  3. 执行编译命令uni build -p mp-weixin,得到正常的sourcemap(sources有源文件,sourcesContent有源文件内容)
    {
      "version": 3,
      "file": "index.js",
      "sources": [
        "../../../../../src/pages/index/index.vue",
        "../../../../../uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"
      ],
      "sourcesContent": [
        "<template>\n  <view class=\"content\">\n    <image class=\"logo\" src=\"/static/logo.png\"/>\n    <view class=\"text-area\">\n      <text class=\"title\">{{ title }}</text>\n    </view>\n  </view>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nconst title = ref('Hello')\n\n</script>\n\n<style>\n.content {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n}\n\n.logo {\n  height: 200rpx;\n  width: 200rpx;\n  margin-top: 200rpx;\n  margin-left: auto;\n  margin-right: auto;\n  margin-bottom: 50rpx;\n}\n\n.text-area {\n  display: flex;\n  justify-content: center;\n}\n\n.title {\n  font-size: 36rpx;\n  color: #8f8f94;\n}\n</style>",
        "import MiniProgramPage from '/Users/lanweifeng/Project/uniapp/uni-vue3-demo/src/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"
      ],
      "names": [
        "title",
        "ref",
        "wx",
        "createPage",
        "MiniProgramPage"
      ],
      "mappings": "wIAWM,MAAAA,EAAQC,MAAI,2DCVlBC,GAAGC,WAAWC"
    }
    
  4. 在pages/index/index.vue中使用onShareAppMessage函数
    onShareAppMessage(() => {  
      console.log('使用了分享')  
    })
    
  5. 重新执行编译命令uni build -p mp-weixin,得到的sourcemap丢失了源码信息,导致无法反解(sources和sourcesContent中没有源码)
    {
      "version": 3,
      "file": "index.js",
      "sources": [
        "../../../../../uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"
      ],
      "sourcesContent": [
        "import MiniProgramPage from '/Users/lanweifeng/Project/uniapp/uni-vue3-demo/src/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"
      ],
      "names": [
        "wx",
        "createPage",
        "MiniProgramPage"
      ],
      "mappings": "wdACAA,GAAGC,WAAWC"
    }
    

更多关于uni-app 使用onPageScroll onShareAppMessage onShareTimeline API的页面,生成的sourcemap未包含源码,导致无法反解的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

另外,直接使用 uni build -p mp-weixin --sourcemap 命令进行编译的话,生成的.sourcemap文件夹里的map文件,sourcesContent的值是null,也没有办法反解 {
“version”: 3,
“file”: “index.js”,
“sources”: [
“…/…/…/…/…/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl”
],
“sourcesContent”: null,
“names”: [
“wx”,
“createPage”,
“MiniProgramPage”
],
“mappings”: “wdACAA,GAAGC,WAAWC”
}

更多关于uni-app 使用onPageScroll onShareAppMessage onShareTimeline API的页面,生成的sourcemap未包含源码,导致无法反解的实战教程也可以访问 https://www.itying.com/category-93-b0.html


你好,临时解决方案:找到 node_modules/@dcloudio/uni-mp-vite/dist/plugins/runtimeHooks.js ,用附件的runtimeHooks.js 替换原本的runtimeHooks.js

感谢回复~ 我试一下,同时期待正式修复

这个有官方修复的预期时间吗?

有没有想过自己的问题,uniapp官方很难的好不好,工资涨没涨,有没有好好工作【dog】

你好,感谢反馈,已确认bug,已加分

有没有啥临时解决方案呀,我们线上小程序异常还蛮多的,现在都看不了原始堆栈信息,对业务影响比较大。

回复 lanker0: 已上传附件,替换一下 runtimeHook.js文件

ces ces ceshi的方法发发发

还没修复吗?

回到顶部