正在从映射文件中获取上下文



我使用stacktracke.js来获取异常的正确堆栈跟踪,但我想知道是否可以提取部分代码来获取异常发生的上下文

有什么好的简单的方法可以做到这一点吗?

因此,在读取代码后,答案是肯定的,stacktrace已经将源代码存储在缓存中。我们可以这样检索:

创建助手:

async extractFromCache(cache: any, filename: string) {
let originContent: string = "";

if (cache[filename]) {
if (typeof cache[filename] === "string") {
originContent = cache[filename];
} else if (typeof cache[filename] === "string" && cache[filename].constructor.name === "ZoneAwarePromise") {
originContent = await cache[filename];
}
}
return originContent;
}

那么使用stacktracejs需要这样做:

const cache = {};
const trace = await StackTrace.fromError(message, { sourceCache: cache });
const sourceCode = await extractFromCache(cache, trace[0].fileName);

然后使用trace.lineNumber从sourceCode中提取前后的某行!

相关内容

  • 没有找到相关文章

最新更新