我希望对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 楼说的做就可以了
|