如何将js堆栈跟踪替换为include"行“;以及“;位置“;文本

How to replace js stack trace to include "line" and "position" text?

本文关键字:quot 以及 文本 位置 include js 堆栈 跟踪 替换      更新时间:2023-09-26

我们有一个javascript堆栈,我们在开发过程中将其写入屏幕。

 (OurCustom.js?635095252297740283:14:29)
    at jquery-1.8.3.min.js?634937263102341783:2:11602
    at Function.v.extend.map (jquery-1.8.3.min.js?634937263102341783:2:15448)

我正在尝试替换的最后两个冒号

(OurCustom.js?635095252297740283:14:29)

(OurCustom.js?635095252297740283 line 14 pos 29)

我的尝试没有成功。没有替换任何内容。

stackMessage = stackMessage.replace(/_(:'d*)(:'d*)_/g, "line $1 pos $2");

编辑:顺便说一句,这就是我获得堆叠比赛的方式。(正确答案)

catch (err)
{
    var stackMessage = (err.stack || err.stacktrace || "")
                       .replace(/:('d*):('d*)/g, " line $1 pos $2");
...
{

问题在于正则表达式中的下划线。你应该使用

stackMessage = stackMessage.replace(/:('d*):('d*)/g, " line $1 pos $2")