uni-app、小程序项目,在分包后访问地址没办法跳转,出现异常RangeError: Maximum call stack size exceeded
使用uni-app开发小程序,由于微信小程序对代码包体积有大小限制,故分包处理,同时也做了分包预加载
分包后,一个点击事件,同一个跳转地址,在浏览器下正常跳转,在微信开发者工具内出现如下报错
出现异常:RangeError: Maximum call stack size exceeded
如图:
原因:很有可能是路由拦截错误导致堆栈溢出,或者分包路由找不到导致疯狂重定向
一个是路由哪儿的问题,一个是分包配置哪儿的问题
1.首先本人项目分包配置如下,注意root参数后的分包路径多了个/,实际是不能加/的
"subPackages": [
{
"root": "pages/process/",
"pages": [
{
"path": "core/ProcessList",
"name": "ProcessList",
"style": {
"navigationBarTitleText": "流程列表"
}
}
]
}
]
2.路由初始化配置如下,当路由找不到路由地址重定向到404页面,且这里使用命名路由
const router = createRouter({
platform: process.env.VUE_APP_PLATFORM,
routes: [...ROUTES,
{path: '*', redirect:(to)=>{return {name:'404'}}},
]
});
3.由于昨天刚好对pages.json文件进行动态生成配置,且忽略了name参数,且该name参数用于命名路由使用
module.exports = {
baseUrl: 'pages/error/',
children: [
{
path: '404',
// name: '404',
text: '404',
},
]
}
4.结合如上错误配置,于是造成了如下异常信息:
VM2946 WAService.js:2 RangeError: Maximum call stack size exceeded
at RegExp.C.n.configurable.h.get (VM2946 WAService.js:2)
at RegExp.[Symbol.replace] (<anonymous>)
at String.replace (<anonymous>)
at u (vendor.js? [sm]:1)
at f (vendor.js? [sm]:1)
at vendor.js? [sm]:1
at e (vendor.js? [sm]:1)
at Object.e [as routesForMapRoute] (vendor.js? [sm]:1)
at Object.t.queryPageToMap (vendor.js? [sm]:1)
at Object.d [as navjump] (vendor.js? [sm]:1)(env: Windows,mp,1.05.2204250; lib: 2.24.6)
如果你的配置都是正常的,可以尝试:关闭微信开发者工具,重新在Hbuilder中编译运行到微信开发者工具(因为我这样试了一遍就正常了,,,,,)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfggfei
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01