2013-09-26 30 views
3

我一直聽到越來越多的關於源地圖以及如何使用Closure編譯器生成它們,以便在編譯和最小化代碼後提供開發時使用的所有調試優點。顯然也支持編譯成js語言,如CoffeeScript。Javascript源地圖是如何生成的?

我覺得這非常酷! (榮譽給大家參與制作這個可能)

什麼我很感興趣,雖然是:

  1. 這是如何實現的呢? (主要問題)
  2. 爲什麼這很有用(與僅在開發模式下進行調試相反)? (二級)
+1

這是很好不會對線#1,或像「C」一代產量東西你所有的錯誤發生沒有內部函數定義的「一」 ...... – dandavis

+0

我明白這一點,但如果你是一個貢獻者項目肯定你可以在編譯之前調試並最小化? – GordyD

+1

當一個bug在凌晨3點出現時,你知道你的函數調用是在哪裏嗎?我們不需要他們,他們只是幫助。那些不在多步驟構建中的人呢?不應該像開發人員那樣容易使用螢火蟲?它類似於無損腳本壓縮。 – dandavis

回答

4

如何創建源地圖?

Html5 Rocks站點有一個great tutorial on generating source maps並顯示了Closure編譯器的示例。每個工具的命令會有所不同,但輸出應該大致相同。

爲什麼來源地圖是有用的

工具,壓縮,編譯,優化或生成JavaScript不約而同地引入錯誤。這些錯誤通常在開發(未壓縮的 - 原始代碼)環境中不存在。但是,調試壓縮的代碼是令人難以置信的痛苦。

源地圖進行壓縮/錯位符號映射到原來如此,你似乎是通過原始代碼進行加強。因此,當發生錯誤時,你知道問題出在哪裏。