プログラミング (iOS, JavaScript, Jenkins, Sikuli) とMacやiPhoneなどの話題が中心のブログ CoffeeScriptなどの別言語からコンパイルしたり、ClosureコンパイラなどでMinifyしたりしたソースをデバッグしているときなどに、生成されたJavaScriptソースコードから変換前のオリジナルソースの場所を知りたいときがあります。 それを知るための技術がSource Mapです。これがどのようにオリジナルのソースを参照しているのか気になったので調べてみました。 CoffeeScriptをコンパイルしたときのソースマップ 簡単な例として、フィボナッチのCoffeeScript版をソースとして用います (fibonacci.coffee)。 fib = (n) -> if n == 0 or n == 1 n else (fib n - 1)
![JavaScriptのSource Mapの内部表現について](https://cdn-ak-scissors.b.st-hatena.com/image/square/43aa1691cd2c7cd495c19ba7faebda9f84713b4b/height=288;version=1;width=512/http%3A%2F%2F2.bp.blogspot.com%2F-xgvwGi6XnBM%2FUg8xskOQmZI%2FAAAAAAAACGs%2FyVTfFmktUFE%2Fw1200-h630-p-k-no-nu%2FP8081336.jpg)