外部源地图工具

Kri*_*son 6 javascript uglifyjs source-maps

我在生产中有一个最小化的文件,有一个记录错误的错误处理程序,以及在我缩小文件时生成的源映射,但是我无法将错误映射到我的源文件,因为错误是在日志中并且不会出现在chrome或firefox中,其中很容易消耗缩小的文件和源图.是否有应用程序或工具将使用我生成的源地图将缩小文件中的错误报告转换为原始未分类文件中的位置?所以我要完全清楚

dist.min.js

它由几个js文件组成,然后用uglify.js缩小.我有

dist.min.js.map

这是uglify缩小文件时生成的mapfile.我需要做的是接受错误

ERROR: Uncaught TypeError: Cannot call method 'indexOf' of undefined, dist.min.js:1 "TypeError: Cannot call method 'indexOf' of undefined at distmin.js:1:21815 at ab.event.dispatch (dist.min.js:3:25564) at q.handle (dist.min.js:3:22314)"

并找出我的原始源代码中实际发生错误的位置.我知道如何在Chrome中使用源图,但是是否有一个外部工具可以让我手动输入行和列并显示源代码中的位置?

tuc*_*uxi 6

您可以使用mozilla的source-map库来反向映射到原始位置,如下所示:

var smc = new SourceMapConsumer(rawSourceMap); // <-- put map in there
console.log(smc.originalPositionFor({          // <-- plug positions here
     line: 2, 
     column: 28 
})); 
Run Code Online (Sandbox Code Playgroud)

输出类似于:

{ 
  source: 'http://example.com/www/js/two.js',
  line: 2,
  column: 10,
  name: 'n' 
}
Run Code Online (Sandbox Code Playgroud)

该示例直接来自 Mozilla 的文档。相同的库用于在 uglifyjs 中生成源映射(在提到源映射生成时链接到 Mozilla 项目)。