2016-03-03 61 views
0

我們有一個使用webpack和npm管理依賴關係的前端項目。NPM - 在生產部署期間管理依賴關係的常見做法

當我們掛接到詹部署過程自動化,以testproduction,以下是我們做什麼: -

  1. rm -rf node_modules/
  2. npm install --production
  3. 打造前端文物

這是正確的方法,每次刪除node_modules並重新安裝所有的東西?

我們曾經做過npm update,但在構建失敗時我們遇到了一些依賴關係問題,所以我們切換到刪除node_modules並重新安裝每個部署中的所有內容。

我覺得我們在那裏做了額外的工作,我想知道這種情況下的常見做法。

感謝

回答

0

Npm update設計更新包的版本,沒有安裝任何缺少的依賴關係。

運行npm install當你已經在你的文件夾node_modules一些軟件包將在您的package.json文件安裝任何未安裝的軟件包。

此外,我建議設置一個shrinkwrap file以確保所有機器上的依賴關係的版本相同。

+0

是的,我知道'npm update'和'npm install'之間的區別。但部署過程中的常見做法是什麼? 你跑兩個嗎?對我而言,我基本上刪除了所有'node_modules'並重新開始。 我想知道其他人是如何以自動化的方式做到這一點。 –

+0

此外,shrinkwrap文件是爲模塊作者鎖定版本?我對麼 ? –

+0

shrinkwrap只能用於應用程序,而不是庫。你是圖書館的作者還是應用程序的作者? –