直接访问官方示例也报错:https://vue3-hellouniapp.dcloud.net.cn/pages/component/web-view/web-view
- 发布:2025-07-25 09:33
- 更新:2025-09-22 09:56
- 阅读:941
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows@10.0.26100
HBuilderX类型: 正式
HBuilderX版本号: 4.75
浏览器平台: Chrome
浏览器版本: 版本 138.0.7204.158(正式版本) (64 位)
项目创建方式: HBuilderX
操作步骤:
预期结果:
能成功跳转页面
能成功跳转页面
实际结果:
Uncaught TypeError: uni[e] is not a function
Uncaught TypeError: uni[e] is not a function
终结此回复,你看 manifest.json 的摇树优化关闭了没有用,你需要先开启,再关闭 ,保证源码试图里面有这个配置才行
"h5" : {
"optimization" : {
"treeShaking" : {
"enable" : false
}
}
}
如果默认是关闭的,那么源码视图里没有这个配置,必须手动开关一下。 我彻底无语了,这破玩应弄了一天一夜
靐齉齾麤龖龗 - 解决不了问题,那就解决提出问题的人
打包之后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
靐齉齾麤龖龗 - 解决不了问题,那就解决提出问题的人




l***@outlook.com
感恩,你把我救了。
2025-09-27 15:02
1***@qq.com
谢谢,真有用
2025-09-29 16:04