2014-02-14 57 views
6

在NodeJS應用程序中,使用縮小的源代碼服務器端有什麼好處嗎?縮小隻讀節點的源代碼有沒有好處?

唯一的好處,我可以想出,是較小的JS文件可能會被從磁盤稍快裝。但這似乎微不足道,因爲它只會影響啓動時間。

那麼,會不會有任何理由將其部署到我們的生產服務器之前處理過醜化或關閉編譯我們的源代碼?

+1

@mfreitas:好找。我沒有得到它與我的查詢。謝謝 –

回答

8

微小的點是減少的帶寬(更小的文件=小於字節)。由於您沒有將您的服務器端代碼發送給您的客戶端,因此沒有理由減少它。誠然,從磁盤讀取文件的速度會更快,但如果啓動時間是瓶頸,那麼就會遇到一些更大的問題。

話雖如此,關閉編譯器不僅是一個minifier:它試圖成爲一個JavaScript編譯器,試圖加快你的代碼。不同的JIT可能也更喜歡你的「編譯」代碼,特別是在函數內聯中。說,速度差可能可以忽略不計。

結論:沒有,但你可以享受收穫的副作用。我不知道任何測試,所以你可以成爲該領域的先驅。在一段時間內測試您的未分類程序,然後對縮小版進行基準測試。

3

是的。

這將減少啓動時間,因爲node.js中加載它們,每一個進程啓動時解析他們。

但這樣做的好處是微不足道的。如果你正在編寫一個服務器,你甚至不應該這麼做,因爲服務器只啓動一次並且工作很長時間。但是,如果您正在編寫大型CLI應用程序(像yapm或bower或組件這樣的軟件包管理器就是很好的例子),那麼您就有可能大幅縮短啓動時間。這不僅是因爲縮小,而且主要是因爲捆綁和保存require()fs命中。儘管縮小本身並沒有帶來太多。

無論如何,請嘗試使用nexe編譯您的應用程序並自行找出答案。有可能你不會從中得到任何好處,但至少你會知道它。 :)