DEV Community

GuiJiangHeng
GuiJiangHeng

Posted on

如何利用sourcemap debug

今天遇到个sentry错误告警,只有min.js的报错的行数和列数,想通过sourcemap找到源代码的对应的文件,行数和列数,还真的可以:

const SourceMap = require('source-map');
const fs = require('fs');

const data = fs.readFileSync('./xx.js.map').toString();
new SourceMap.SourceMapConsumer(data).then((consumer) => {
  const line = 2;
  const column = 5027;
  const pos = consumer.originalPositionFor({ line, column });
  console.log(pos)
  console.log(
    consumer.sourceContentFor(pos.source)
    .split('\n')
    .splice(Math.max(0, pos.line - 10), pos.line + 10)
    .join('\n')
  )
})
Enter fullscreen mode Exit fullscreen mode

Top comments (0)