3***@qq.com
3***@qq.com
  • 发布:2025-07-25 09:33
  • 更新:2025-07-25 16:38
  • 阅读:68

【报Bug】uni-app vue3版本打包h5后 webview页面跳转报错(uni[e] is not a function)

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows@10.0.26100

HBuilderX类型: 正式

HBuilderX版本号: 4.75

浏览器平台: Chrome

浏览器版本: 版本 138.0.7204.158(正式版本) (64 位)

项目创建方式: HBuilderX

操作步骤:

直接访问官方示例也报错:https://vue3-hellouniapp.dcloud.net.cn/pages/component/web-view/web-view

预期结果:

能成功跳转页面

实际结果:

Uncaught TypeError: uni[e] is not a function

bug描述:

uni-app vue3版本打包h5后 webview页面跳转报错(uni[e] is not a function)。
运行H5本地开发模式下没有问题,一切正常,只有打包成H5才会有问题。

2025-07-25 09:33 负责人:无 分享
已邀请:
靐齉齾麤龖龗

靐齉齾麤龖龗 - 解决不了问题,那就解决提出问题的人

打包之后uni下面的那些官方函数已经被摇树优化了,变成了一个具名函数了,不挂载在uni上了。。如果想要使用就需要你自己定义一个变量

// 打包之后uni下面的对象会被替换,所以使用如此方式  
const jumps = {  
    switchTab: uni.switchTab,  
    navigateTo: uni.navigateTo,  
    redirectTo: uni.redirectTo,  
    reLaunch: uni.reLaunch  
}

在你自己的页面就可以使用jumps[e]这种了

  • 3***@qq.com (作者)

    您好,感谢回复,但刚实验还是不行。

    1、首先项目并未勾选启用树摇优化。

    2、上述代码是否写在嵌入的html页面中?目前现状是vue页面中的webview嵌入了一个互联网上的html,此html内的js代码调用uni.navigateTo等方法在发行h5后报错。此html页面不会经历编译器,不在树摇优化的作用范围。

    2025-07-25 10:02

靐齉齾麤龖龗

靐齉齾麤龖龗 - 解决不了问题,那就解决提出问题的人

我看了下官方示例,是监听的上层页面这样是错误的

,iframe里面是有的


所以说主程序像我刚才那样就行了,iframe里面需要引入uni的js才可以

要回复问题请先登录注册