簡體   English   中英

如何丑化/縮小 NodeJS 應用程序

[英]How to uglify/minify NodeJS application

對於我一直在 Node.js 開發的工作,以創建我們的基於 Web 的應用程序,這個應用程序逐漸變得越來越大,我想知道是否有辦法丑化/縮小服務器端文件和代碼? 我一直在尋找整個互聯網,我只能找到將縮小/丑化/壓縮文件發送到客戶端的 web 瀏覽器以降低負載的示例。 而且我真的很想獲得任何性能提升,我也可以獲得服務器端。

現在我的問題有兩個:1)縮小/丑化/壓縮服務器端代碼實際上是否會對 Node.js 服務器的性能產生積極影響? 2)如果是這樣,除了手動對整個項目中的每個文件進行手動操作之外,還有什么好方法可以讓這種情況發生? (有很多!)

只是在這里回答自己,這樣這個問題就可以結束了。

@CertainPerformances 和 @jfriend00 都指出了這一點:

*由於文件 I/O 時間較小,縮小服務器代碼可能會在啟動時間上有微小的差異。

但是在服務器啟動並運行后,很可能不會有性能提升。 再加上它使構建、開發過程和調試變得復雜。*

您不太可能看到任何人在他們的生產服務器上發布未縮小的代碼。 我自己嘗試過,大小的差異不僅在大小上,而且在加載時間上也很大,尤其是在有多個未縮小文件的情況下。

試想一下,您的應用程序中有很多依賴項(react/vue、各種 npm 包和您的自定義代碼)並且沒有一個被壓縮/縮小。 您正在查看以兆字節為單位的 JS 代碼。 這是不可取的。 如果任何網站的加載時間增加 3 秒,它就會受到用戶的負面評價,並且拒絕率很高。 我想說縮小是必須的,應該有一個 JS 文件。 從服務器獲取的資源數量越多,它變得越慢。

NPM 的好處在於它可以很容易地縮小代碼。 您也可以使用 webpack ( https://www.npmjs.com/package/webpack )。 您可以在package.json文件中添加一個構建腳本,該腳本會處理所有這些,而您甚至不會注意到。 然后你的所有代碼都放在一個文件夾中。 您可以從package.json配置( https://docs.npmjs.com/files/package.json#file 然后,當您將應用程序上傳到服務器時,您只需將該文件夾移到那里即可。

下次您對代碼進行任何更改時,您將再次運行此構建腳本並更新此構建文件夾,該文件夾可以再次上傳以更新您的生產代碼。 這是一種非常幼稚的部署方式,但對於任何 web 項目來說都是最低要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM