1.7.7开发工具AppData Panel 存在一个无法正常序列化循环引用导致无法正常开发的问题
155 浏览2019年10月12日作者:zerob13

问题描述:

由于Taro编译出来的小程序会增加一个 $component 的自身引用,所以在 AppData 进行序列化的时候会遇到自身的循环引用,然后默认的JSON.stringify 并不支持序列化循环引用的对象,并且工具也对这个异常没有进行处理,导致整个开发者工具一直报错卡死。

报错截图、相关bug:

/Applications/bytedanceide.app/Contents/Resources/app.asar.unpacked/simulator-sdk/temFiles/dist/preload/bgPreload.edaf793ea424a9e66185.js:29 Uncaught TypeError: Converting circular structure to JSON

at Object.stringify (<anonymous>)

at e.exports (/Applications/bytedanceide.app/Contents/Resources/app.asar.unpacked/simulator-sdk/temFiles/dist/preload/bgPreload.edaf793ea424a9e66185.js:29)

at /Applications/bytedanceide.app/Contents/Resources/app.asar.unpacked/simulator-sdk/temFiles/dist/preload/bgPreload.edaf793ea424a9e66185.js:192

at o (/Applications/bytedanceide.app/Contents/Resources/app.asar.unpacked/simulator-sdk/temFiles/dist/preload/bgPreload.edaf793ea424a9e66185.js:29)

复现步骤:

使用Taro随意开发一个小程序都能遇到该问题

联系方式:

yanglingfeng@wifi.com

建议修复方案:

1.使用 circular-json 这类支持循环引用的Stringify方案

2. 对这部分代码进行异常处理,不要让开发者工具的异常影响正常开发

最后一次编辑于 2021 年 06 月 21 日
7 条评论

相关文章

专题推荐

热门文章

热门问答