簡體   English   中英

有沒有辦法清理 node_modules 目錄,只留下所需的依賴文件?

[英]Is there a way of cleaning a node_modules directory leaving only the required dependent files?

使用 npm 安裝和管理包很棒! 我覺得不太好的是它可能留下的爛攤子。

我已經開始將 npm 用於客戶端和節點依賴項管理,並且我注意到我依賴的各種包有很多不同的安排 有些有lib文件夾,有些有src文件夾,一些dist ,一些docs ,一些examples等。我理解這是因為通常這些包直接來自源代碼。

我的問題是:

有沒有一種方法可以識別甚至自動刪除任何不需要的文件,以部署到生產環境? 我在想:刪除任何 readme.md(我猜很容易)或示例文件(可能很容易)。

理想情況下,我希望能夠從我的入口點准確計算依賴樹的樣子並刪除不需要/未使用的文件......這對於依賴圖像或字體或 HTML 的客戶端包顯然要困難得多。

編輯:

正如 Alexander Mac(下文)所指出的,前端 dep 的一個好策略是將客戶端依賴項包含為 dev-dependencies 和 build。 所以我的問題只與 nodejs 應用程序有關。

我可能會建議使用rollup.jswebpack2將您的代碼(和 deps)構建到一個包中。

這些模塊加載器利用搖樹方法僅包含實際使用的代碼。

您可以運行: npm prune ,它將從 ./node_modules 中刪除未在 packages.json 中指定為依賴項的模塊。

npm dedupe將通過將等效模塊拉到根目錄 ./node_modules/ 來刪除重復的依賴項。 我不知道這有多大用處。 我做到了,然后意識到我間接使用了一大堆模塊,我也可以直接使用它們,所以就是這樣。

這樣做的一個可靠方法也是:

rm -rf ./node_modules ./bower_components npm install

無論如何,在發布到生產環境之前進行干凈的構建是一種很好的做法。

另外,我使用sinopia在本地緩存模塊,這減輕了網絡流量,因此這些重新安裝的時間密集程度要低一些。

暫無
暫無

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

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