browserify - 源映射如何在多个连续的构建步骤中工作?

标签 browserify source-maps

我试过谷歌搜索,有some good info关于 A-to-B 源图如何工作,但我找不到任何关于 的物流的解释A 到 B 到 C 源 map 。

例如,使用 Browserify 可以有不同类型的输入文件(如 main.jsmodule-1.coffeemodule-2.es6 ),并使用转换(coffeeify、6to5ify)在输入的过程中修改数据。最终的 bundle.js在源映射注释中包含一个巨大的内联数据 URI。它有效——如果 bundle.js 中的某些行抛出错误,然后 devtools 向我显示原始源文件和行号,即使它位于 CoffeeScript 模块中。

任何人都可以帮我理解这个的逻辑......所有的源 map 最后都会“折叠”成一个单一的源 map 吗?或者浏览器开发工具是否必须遍历源映射树,直到找到没有源映射注释的文件?或者它是否以其他方式工作?

(也许这些东西已经有据可查,我只是在谷歌上搜索错误的术语?)

最佳答案

是的,它们已折叠,因为多级源 map 尚未标准化。它去like this :

var gen = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(jsToMinMap));
gen.applySourceMap(new SourceMapConsumer(coffeeToJsMap));
var map = gen.toJSON();

previous topic 中的更多信息关于堆栈溢出。

关于browserify - 源映射如何在多个连续的构建步骤中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28279107/

相关文章:

node.js - browserify 从命令行不执行任何操作

javascript - 浏览器化后如何更改模块名称(更改为更友好的名称)?

javascript - browserify 和已经有 sourcemap 的文件

javascript - 从缩小文件中提取单个 javascript 文件代码

javascript - 在 Chrome DevTools 中禁用源映射

gulp - 使用 browserify 和 debowerify 编译后下划线中的 "this"未定义

Gulp 不会通过 watchify、browserify 退出

javascript - 如何使用源映射隐藏转译代码中的函数调用?

javascript - Chrome 没有选择源 map ,尽管它已启用

javascript - Grunt Browserify - 设置包含、回退路径