问题
virtual_svg-icons-register.3650800b.js:5 RangeError: Maximum call stack size
问题分析
排查了一下,发现可能有几个原因:
- 父子组件的name相同,导致调用溢出
- 存在不符合规范的递归
代码分析
经过排查,锁定了在computed中调用了两个递归(奇怪的是在本地中没有问题,而打包到线上之后便有问题).
const menuList = computed(() => {
if (!props.list.length) return []
let list = parseList(props.list)
list = filterIsLine(list)
return list
})
处理
最终将两个递归整合一下,只写一个递归。打包、构建、测试。问题便解决了。