NPM關於package.json每次發佈的時候都更新致使的問題

先來看看package.json中dependencies字段指定了項目運行所依賴的模塊,devDependencies指定項目開發所須要的模塊。webpack

它們都指向一個對象。該對象的各個成員,分別由模塊名和對應的版本要求組成,表示依賴的模塊及其版本範圍。web

 package.json 文件裏面的 devDependencies  和 dependencies 對象有什麼區別呢?npm

devDependencies  裏面的插件只用於開發環境,不用於生產環境,而 dependencies  是須要發佈到生產環境的。json

好比咱們寫一個項目要依賴於jQuery,沒有這個包的依賴運行就會報錯,這時候就把這個依賴寫入dependencies ;框架

而咱們使用的一些構建工具好比glup、webpack這些只是在開發中使用的包,上線之後就和他們不要緊了,因此將它寫入devDependencies。工具

  • 指定版本:好比1.2.2,遵循「大版本.次要版本.小版本」的格式規定,安裝時只安裝指定版本。
  • 波浪號(tilde)+指定版本:好比~1.2.2,表示安裝1.2.x的最新版本(不低於1.2.2),可是不安裝1.3.x,也就是說安裝時不改變大版本號和次要版本號。
  • 插入號(caret)+指定版本:好比ˆ1.2.2,表示安裝1.x.x的最新版本(不低於1.2.2),可是不安裝2.x.x,也就是說安裝時不改變大版本號。須要注意的是,若是大版本號爲0,則插入號的行爲與波浪號相同,這是由於此時處於開發階段,即便是次要版本號變更,也可能帶來程序的不兼容。
  • latest:安裝最新版本。

 因爲npm默認的都是^符號,致使每次項目構建,一些框架中的不規範發佈,致使了不少問題。spa

現就將全部Package.json指定版本。即1.22這樣。插件

相關文章
相關標籤/搜索