欢迎!请查阅关于页面以获取更多操作信息。
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
Closure编译器还新支持使用数据URL在输入JavaScript文件中理解内联源映射(链接:1)。
\-\-parse_inline_source_maps=false
\-\-source_map_input
(link: 1) https://github.com/google/closure-compiler/pull/1982(link: 2) https://github.com/google/closure-compiler/pull/1982#issuecomment-243249065
评论者:thheller
FWIW,我在 shadow-build 中为此增加了支持。它不需要内联源映射即可工作。
代码可以在以下位置找到: https://github.com/thheller/shadow-build/blob/master/src/main/shadow/cljs/closure.clj
相关部分是在 Compiler 上的 addInputSourceMap 和在 CompilerOptions 上的 setApplyInputSourceMaps
Compiler
addInputSourceMap
CompilerOptions
setApplyInputSourceMaps
如果一切配置得当,Closure 显示的警告将包含一个“原来位置:”的位置,该位置指向 CLJS 文件。
Closure 还会在生成 {{:advanced}} 构建时的源映射中使用的输入源映射,因此 CLJS 在目前所进行的手动合并变得不再必要。源映射似乎也更准确。在输入源映射之前,我遇到了一些问题,源映射不准确,但可能是由于我在 shadow-build 中对源映射处理错误所致。