欢迎!有关如何使用此功能的更多信息,请参阅关于页面。
Google Closure现在(至少从命令行来看)包含了全面的源映射合并和内联源映射生成支持。我们应该调查这项功能实际上可重用性如何。
评论由:darwin 制作
调查了一点点,分享一下我所了解到的
--source_map_input
(链接:1) https://github.com/google/closure-compiler/issues/1360#issuecomment-170716968(链接:2) https://github.com/google/closure-compiler/pull/1971(链接:3) https://github.com/google/closure-compiler/pull/2008(链接:4) https://github.com/google/closure-compiler/wiki/Source-Maps(链接:5) https://github.com/google/closure-compiler/pull/2129
闭包编译器也新支持了在输入的JavaScript文件中使用数据URL嵌入的源映射(链接:1)。
\-\-parse_inline_source_maps=false
\-\-source_map_input
sourceMappingURL=data:
(链接:1) https://github.com/google/closure-compiler/pull/1982(链接:2) https://github.com/google/closure-compiler/pull/1982#issuecomment-243249065
评论人:thheller
FWIW,我之前就为shadow构建添加了这种支持。它不需要内联源映射就能工作。
代码可以在这里找到: https://github.com/thheller/shadow-build/blob/master/src/main/shadow/cljs/closure.clj
相关的部分是{{.addInputSourceMap}}在{{Compiler}}上和{{.setApplyInputSourceMaps}}在{{CompilerOptions}}上。
如果一切配置正常, Closure 显示的警告将包含一个“原始位置:”的链接,该链接指向 CLJS 文件。
Closure还会在生成{{:advanced}}构建的源映射时使用输入源映射,因此目前CLJS手动合并变得不再必要。源映射似乎也更准确。在输入源映射之前,我遇到了一些问题,源映射偏离了几行,但这可能是由于我在shadow-build中的源映射处理不当。