2015-06-08 23 views
3

如果我有縮小文件及其相應的源地圖,是否可以獲取正確的JavaScript源文件?使用源地圖恢復JavaScript縮小

我知道如何美化JS代碼(換行符和縮進),但我想在文件中獲取原始函數/變量名稱,以便更好地理解源代碼。

我想得到未縮小的JS文件,而不是使用它在瀏覽器中進行調試。

PS它可能是在我的鼻子下方,但我沒有設法找到它。對不起,如果這已經問了!

+1

這就是源地圖是...你要求一個獨立的工具,做了嗎?或者你的問題是什麼? –

+0

@FelixKling謝謝你的好處,我補充說明。 – NPC

回答

0

我認爲你將無法完全由於大量信息(例如註釋或某些變量名稱)在該過程中丟失,因此將這些代碼還原到其原始狀態。當我正確理解sourcemaps來做到這一點時,你仍然需要原始文件。

如果你只是爲了美化代碼,所以它的可讀性再次提高,你不需要源地圖。許多高級編輯都有這樣的功能。例如,如果您使用的是崇高文本,那麼這個插件是:https://packagecontrol.io/packages/HTML-CSS-JS%20Prettify,它做得很好。

也看到類似的問題:How can I debug a minified JS in firebug?

+0

我知道如何對它進行美化,正如我在問題中所寫的(我使用ST3的插件,您提到,它非常酷!),但我想將原始變量名稱恢復爲縮小文件。我知道並非所有人都可以恢復,但似乎有足夠的信息可以做到這一點。 – NPC

3

若要sourcemaps需要兩個文件,微細化以及原,原來經常被包含在sourcemap文件(它有源可選sourcesContent不能被託管)。

Sourcemap僅僅是JSON文件,你可以發現裏面的所有需要​​的信息:

  • 源 - 源文件名列表,
  • sourcesContent - 的原始來源可選列表 ,如果源文件未提出這裏應該是空的 。

實用程序腳本,我以前所寫爲了這個目的:https://gist.github.com/zxbodya/ca6fb758259f6a077de7

+0

在我的情況下,沒有原始的源文件。然而,我確實在.map文件中看到了一個屬性「名稱」,我想知道是否按照字母順序映射到替換變量,會嘗試匹配它們。感謝您的想法! – NPC

+0

可能還有'sourcesContent'字段與原始來源,添加鏈接要求簡單的腳本來保存這些來源。 –

+0

不,對不起,我只在JSON中有這些字段:「版本」,「文件」,「來源」,「名稱」,「映射」,「源根」。 – NPC