簡體   English   中英

減少生產的node_modules的大小

[英]reduce size of node_modules for production

我創建了node_modules,用於在nhostk的幫助下從localhost上傳插件到在線站點,並在CommandPrompt中使用npm install 但是創建的node_modules文件夾大小為78mb。 在這種情況下,我必須通過刪除不需要的文件夾來減小大小,所以我上網並得到兩個建議,因為它可以有效減小尺寸,它們是:使用--production模式 ,另一個是使用shrinkwrap

作為第一步,我使用命令npm install --productionnpm install --only = production,如下所示: 你如何阻止為Node.js(package.json)安裝“devDependencies”NPM模塊? ,但我看不到文件夾大小的任何變化。

然后參考如何使用shrinkwrap來減小這個站點中給出的大小並嘗試它: https//docs.npmjs.com/cli/shrinkwrap ,但它沒有成功。

另外我在這里提到: https//www.npmjs.com/package/modclean ,其中使用命令modclean -n default:safe我減少了10-11mb。

但是,我仍然在node_modules中有大量不需要的文件夾。 我在package.json中指定了幾個必需的依賴項,如下所示,

"dependencies": {
    "atlassian-connect-express": "2.0.0",
    "body-parser": "^1.14.2",
    "compression": "^1.6.0",
    "cookie-parser": "^1.4.0",
    "errorhandler": "^1.4.2",
    "express": "^4.13.3",
    "express-hbs": "*",
    "jugglingdb-sqlite3": "0.0.5",
    "morgan": "^1.6.1",
    "static-expiry": ">=0.0.5"
}

我在package.json中給出的依賴很少,但我看到在node_modules中創建了大量文件夾。 如何減小node_modules的大小,還有其他進程嗎?

從NPM v3開始,應用程序中的所有依賴項都盡可能保存在node_modules - 這使得NPM更容易刪除重復項,並防止Windows上出現一些令人討厭的“路徑太長”錯誤。

要意識到的重要一點是,當我說“你的應用程序中的所有依賴項”時,我不只是指你們的package.json那些 - 所有這些包也都有自己的依賴項(並且它們的依賴項可能有他們自己的依賴關系,等等)。 這就是node_modules總是有這么多文件夾的原因。

作為一個例子 - express有28個依賴項,因此如果這是你安裝的唯一東西,那么你的node_modules至少有29個文件夾 - 並且沒有分解子依賴項。

所以,要回答你的問題 - 除了你指定的東西,你不能讓你的node_modules更小,因為你正在使用所有這些文件夾! 只是不總是以最直接的方式。

暫無
暫無

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

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