2016-12-23 30 views
1

我一直在使用npm,但我從來沒有理解過這一點:爲什麼`npm install dragula`包含112個文件?

當安裝一個軟件包,如dragula,它包括所有的源文件。

我真的不想要所有112個文件。我只是想要4個文件的dragula/dist文件。

包括GitHub項目的所有內容的背後的理由是什麼?爲什麼不包括分發文件?如果我想要整個項目,我會去GitHub並下載它。我只使用dragula作爲示例。我下載的所有npm下載都有同樣的問題。

使用許多這樣的庫時,問題會變得更加嚴重。

有沒有辦法將軟件包簡化爲運行時實際使用的文件?

我遇到的問題是,50個這樣的庫後,我有一個nodes_module文件夾超過20,000個文件。這一切都有效,但我想將其減少到實際需要的文件。

+0

據我所知,不是通過NPM。但是如果你不需要其他的東西,你可以從cdn中包含它。 '' – CollinD

+0

如果我不清楚,我很抱歉。我編輯了最後一行,並刪除了我的評論。 –

回答

2

什麼是包括GitHub項目的所有內容的理性背後?爲什麼不包括分發文件?如果我想要整個項目,我會去GitHub並下載它。

這是給每個包/庫說,通過files財產,必須在其package.json哪些文件。如果這是未定義的,它將有效地包含所有內容,which is the case with dragula

See the files documentation瞭解更多詳情。

換句話說,這與npm不是一個問題,因爲每個包沒有明確定義哪些文件實際上是需要

如果你不喜歡它,我建議在他們的Github頁面上打開一個問題/公關。

我有一個nodes_module文件夾超過20,000個文件。這一切工作, ,但我想減少到實際需要的文件。

,那麼你應該使用類似的WebPack,這將幫助你「建立」您的FE代碼,以便你有自己的dist文件夾只有文件(S),你的實際需要。

+1

謝謝!很好的解釋。而我最近剛開始學習webpack。將盡快實施。 –

相關問題