我的 Web 应用程序有一个两步编译过程。首先,我将 CoffeeScript 文件编译成 JavaScript 文件 [1]。然后 JavaScript 文件(来自 CoffeeScript 的文件和外部文件,如由 AngularJS 模板生成的grunt-angular-templates
文件)由 Google Closure Compiler [2] 编译成单个最小化文件。
CoffeeScript ---[1]---> JavaScript --[2]--\
\->
AngularJS templates --> JavaScript ----------> single minimized JS file
/->
other JS files -------/
步骤 [1] 和 [2] 都生成源映射。
是否可以将这些源映射组合成一个源映射,允许我从运行最小化 JS 文件的 Web 浏览器调试 CoffeeScript 文件?
换句话说:假设源映射 [1] 由一个函数表示:
f(position in CoffeeScript) = position in JavaScript
源映射 [2] 由一个函数表示:
g(position in JavaScript) = position in minimized JS
我想得到一个由函数组合表示的源映射:
h(position in CoffeeScript) = g(f(position in CoffeeScript)) =
= position in minimized JS