
我希望对Error.stack做进一步的处理(其实就是不显示name和message那一行), 但是只要一处理, 就不能映射到sourceMap了, 代码和打印结果如下, can you help help me?
const { stack } = new Error("") if (stack) { console.log(stack) console.log(stack.split("\n").splice(1).join("\n")) } // 这是 console.log(stack) // sourceMap 正确 Error at log (index.ts:7) at withinRect (index.tsx:39) at index.tsx:202 at updateMemo (react-dom.development.js:16835) at Object.useMemo (react-dom.development.js:17315) at useMemo (react.development.js:1643) at App (index.tsx:202) at renderWithHooks (react-dom.development.js:16241) at updateFunctionComponent (react-dom.development.js:18328) at beginWork$1 (react-dom.development.js:20151) // 这是 console.log(stack.split("\n").splice(1).join("\n")) // sourceMap 错误 at log ( http://192.168.3.7:8080/static/scripts/index.e7695f.js?e7695f02d813f4d2c31a:66434:17) at withinRect ( http://192.168.3.7:8080/static/scripts/index.e7695f.js?e7695f02d813f4d2c31a:65917:59) at http://192.168.3.7:8080/static/scripts/index.e7695f.js?e7695f02d813f4d2c31a:66044:96 at updateMemo ( http://192.168.3.7:8080/static/scripts/index.e7695f.js?e7695f02d813f4d2c31a:41208:19) at Object.useMemo ( http://192.168.3.7:8080/static/scripts/index.e7695f.js?e7695f02d813f4d2c31a:41688:16) at useMemo ( http://192.168.3.7:8080/static/scripts/index.e7695f.js?e7695f02d813f4d2c31a:54182:21) at App ( http://192.168.3.7:8080/static/scripts/index.e7695f.js?e7695f02d813f4d2c31a:66044:74) at renderWithHooks ( http://192.168.3.7:8080/static/scripts/index.e7695f.js?e7695f02d813f4d2c31a:40614:18) at updateFunctionComponent ( http://192.168.3.7:8080/static/scripts/index.e7695f.js?e7695f02d813f4d2c31a:42701:20) at beginWork$1 ( http://192.168.3.7:8080/static/scripts/index.e7695f.js?e7695f02d813f4d2c31a:44524:16) 1 YadongZhang 2020-05-10 18:24:17 +08:00 好像力扣前端笔试题? |
2 xiaoming1992 OP @YadongZhang 刚刚试了一下,sourceMap 发生时机应该是在 console.log 之后,根据 console.log 打印出的字符串进行替换。并且 Error 的 name 应该必须是原生 Error 的 name,只要保留第一行的 Error name,后面的行可进行删减。 |
3 Arrowing 2020-05-11 08:33:48 +08:00 via Android 没有过这样的需求,先插眼 |
4 zqaq520 2020-05-21 10:21:45 +08:00 同问啊,我最近在做前端错误监控系统也遇到类似问题,怎么破? |
5 xiaoming1992 OP @zqaq520 按照我 2 楼说的做就可以了 |