[英]Getting RingoJS to look for required modules in the node_modules directory
[英]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 應用程序有關。
您可以運行: 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.