uniapp vue3 打包h5后无法正常正常使用uni对象中的方法
今天uniapp项目遇到一个小问题,记录下,就是打包h5后放到服务器跑,一直报错:uni.navigator is not defined
以下是我的代码:
to(url, type = 'navigateTo') {
uni[type]({
url
})
}
以上是我封装的跳转路由方法,在开发环境跑没问题,打包成h5后,就会报错uni[t] is not defined
原因是在vue3中,uni对象中的方法,打包后不会被存在uni对象中,也就是打包后uni对象为空,所以我们不能使用 uni对象 动态去使用它的属性
解决方案:
to(url, type = 'navigateTo') {
if (type === 'navigateTo') {
uni.navigateTo({
url
})
} else if (type === 'redirectTo') {
uni.redirectTo({
url
})
} else if (type === 'reLaunch') {
uni.reLaunch({
url
})
} else if (type === 'switchTab') {
uni.switchTab({
url
})
}
}
小小记录下