2012-07-13 21 views
3

我對node.js很新穎。將我的依賴關係(從node_modules)放在我的項目適合我的同一目錄中的功能。如何自動清理SCM提交的node_modules目錄

我也想commit those dependencies與我的項目。

我從一個使用socket.io的項目開始。但是當我看一下npm install socket.io之後的npm生成的目錄時,有一些示例文件,文檔,自述文件,基準測試數據,更新日誌等......我不想在我的git或subversion系統中提交大量文件。

是否有自動工具縮小node_modules目錄的內容以僅保留需要的內容?

如果我正確閱讀了npm的文檔,我什麼也沒有找到。有一個prune選項,但它是刪除未使用的依賴項。

+0

這並不能回答你的問題,但由於你鏈接的文章是寫的,所以'npm shrinkwrap'被創建來處理這個問題。 [看看它的文檔](http://npmjs.org/doc/shrinkwrap.html)。 – 2012-07-13 20:18:37

+1

對不起,但我不明白它是如何處理這個問題。根據鏈接的第一個段落,「該命令鎖定包的依賴項的版本,以便在安裝包時確切地控制每個依賴項的哪個版本。」我沒有讀到關於清理/修剪依賴關係的信息。 – 2012-07-13 20:24:34

+0

'npm shrinkwrap'的意思是它會鎖定'node_modules'文件夾中的每個依賴項的版本_recursively_,這樣你就不需要檢查你的'node_modules'文件夾進入版本控制。它在「爲什麼我不能使用版本鎖定來確保所有部署獲得相同的依賴關係?來自博客文章。 – 2012-07-13 20:25:57

回答

2

不,沒有工具可以做到這一點。通常,模塊的作者使用.npmignore來忽略他不想發佈的任何文件。幾乎所有作者都會發布示例,文檔,自述文件,更新日誌。

你的唯一方法是刪除它們並提交git。