我正在编写一个工具,它将使用browserify转换将许多行添加到许多JavaScript文件的顶部和底部。我想弄清楚如何生成包含原始源代码转换以及删除由我的其他代码创建的偏移量的源代码贴图。例如:如何从节点中的现有源图生成新的源图?
# original source file - test.coffee
console.log "test"
此使用的CoffeeScript编译器被变换成
// Generated by CoffeeScript 1.6.3
(function() {
console.log("test");
}).call(this);
/*
//@ sourceMappingURL=test.map
*/
的CoffeeScript的编译器还提供一个指向像
{
"version": 3,
"file": "test.js",
"sourceRoot": "",
"sources": [
"test.coffee"
],
"names": [],
"mappings": ";AAAA;CAAA,CAAA,CAAA,GAAA,CAAO;CAAP"
}
我需要修改的映射的sourceMappingURL通过在前后添加几行输出JavaScript文件。
my.instrumentation.line(1);
my.instrumentation.line(2);
// Generated by CoffeeScript 1.6.3
(function() {
console.log("test");
}).call(this);
my.instrumentation.line(8);
my.instrumentation.line(9);
我需要弄清楚如何使用映射文件的CoffeeScript的编译器提供通过我的变化,来图,并通过CoffeeScript的编译器,全部回到原来的CoffeeScript源方式。
目前,只要没有额外的源代码处理,我就可以做这个源代码映射。例如,如果我从JS开始,而不是CS开始,则可以使用Thorsten Lorzen's inline-source-map library生成源映射,只要没有进行第二级转换,就可以正常工作。将相同原始源的多个源地图组合在一起时,我很困惑。
任何帮助或建议将大大增值。
你见过[Mozilla的源地图库](https://github.com/mozilla/source-map)吗?在节点工作,可能做你需要的东西? –