node_modules 資料夾大小不是問題,反而是一個特權

關於 node_modules 資料夾大小辯論的我的想法 我曾對於 node_modules 資料夾的大小感到懊惱。一個 JavaScript 應用程式怎麼可能在沒有我加入任何一行程式碼的情況下就有100、200MB的大小呢?我只是執行 npx create-react-app todolist,然後下載了218.7MB的東西!(我現在剛剛檢查了一下,這是真的數字)。 每當你思考 node_modules 的大小時,請想想我們程式開發人員投入的無數工時。 這是完全開源的軟體,是你可以檢視和學習的軟體。它是由世界各地的程式開發人員和公司慷慨捐贈的。它是一個全球性的努力,某人將它變得非常簡單好用。首先是 npm 這個工具,接著才是 npm 公司。 我們都同意將自己的程式碼發布到他們的伺服器上,人們在上面進一步建立了其他東西,直到我們得到了快速入門工具(如 create-react-app 或 Vue CLI 等),可以免費獲得大量功能。 在 TB 級快速儲存的時代,200MB 的大小算太大嗎? 請記住,在這個大小中,絕大多數是測試、文件等等。而且剩下的程式碼絕大多數只會在開發環境中使用。這並不意味著你會將一個200MB的應用程式提供給用戶,我認為這一點是深入人心的。 我以 create-react-app 為例,那 200MB 中有些什麼? 首先,create-react-app 包含了: 編譯器 (Babel) 打包工具 (Webpack) 程式碼壓縮工具 程式碼檢查工具 (ESLint) 樣式流程工具 (SCSS) 具有熱重載功能的開發伺服器 測試執行工具 (Jest) 如果你想要開發 Mac 或 iPhone 應用程式,你必須安裝蘋果提供的 IDE,即 Xcode。Xcode 的大小(等一下……)幾乎是 14GB。那是 node_modules 的 70 倍大小。確實,我們在比較兩件不同的事物,但 node_modules 包含了你開始編寫程式碼所需的一切。你可以搭配大小為 200MB 的 VS Code 或大小為 30MB 的 Sublime Text 使用,都沒關係,並不是必須的(而你卻無法在沒有 Xcode 的情況下創建 iOS/macOS 應用程式)。...