nodejs中package.json和package-lock.json檔案的功能分析
最新版nodejs中,多了一個package-lock.json檔案,剛開始對這個檔案很是疑惑,後來查了一番資料後,通過驗證,終於確定了這兩個檔案的關係。
package.json與package-lock.json檔案的作用
package.json檔案記錄你專案中所需要的所有模組。當你執行npm install的時候,node會先從package.json檔案中讀取所有dependencies資訊,然後根據dependencies中的資訊與node_modules中的模組進行對比,沒有的直接下載,已有的檢查更新(最新版本的nodejs不會更新,因為有package-lock.json檔案,下面再說)。另外,package.json檔案只記錄你通過npm install方式安裝的模組資訊,而這些模組所依賴的其他子模組的資訊不會記錄。
package-lock.json檔案鎖定所有模組的版本號,包括主模組和所有依賴子模組。當你執行npm install的時候,node從package.json檔案讀取模組名稱,從package-lock.json檔案中獲取版本號,然後進行下載或者更新。
因此,正因為有了package-lock.json檔案鎖定版本號,所以當你執行npm install的時候,node不會自動更新package.json檔案中的模組,必須用npm install packagename(自動更新小版本號)或者npm install [email protected](指定版本號)來進行安裝才會更新,package-lock.json檔案中的版本號也會隨著更新。
附:當package.json與package-lock.json都不存在,執行"npm install"時,node會重新生成package-lock.json檔案,然後把node_modules中的模組資訊全部記入package-lock.json檔案,但不會生成package.json檔案,此時,你可以通過"npm init --yes"來生成package.json檔案
相關推薦
nodejs中package.json和package-lock.json檔案的功能分析
最新版nodejs中,多了一個package-lock.json檔案,剛開始對這個檔案很是疑惑,後來查了一番資料後,通過驗證,終於確定了這兩個檔案的關係。 package.json與package-lock.json檔案的作用 package.json檔案記錄你專案中所需
node中package.json和package-lock.json檔案的作用
npm5以前是不會有package-lock.json這個檔案的。可以單獨升級npm而不升級node.js npm5以後才加入了這個檔案 當你安裝包的時候,npm都會生成或者更新package-lock.json這個檔案。 npm5以後的版本安裝包不需要加–save引數,它會自動儲存依賴資訊
package.json和package-lock.json的區別
col install ack ins 最新 怎麽 npm 5.1 根據 自npm 5.0版本發布以來,npm istall的規則發生了三次變化: 1.npm 5.0.x版本,不管package.json怎麽變,npm install時都會根據package-lock.js
package-lock.json和package.json的作用
狀態 保持 可能 管理器 例如 ejs 方式 超過 一個 轉自:https://www.cnblogs.com/cangqinglang/p/8336754.html package-lock.json的作用就是鎖定安裝依賴時包的版本,並且需要上傳到git,以保證其他人np
關於package.json和package-lock.json的區別
5.0以後的node.js,在安裝專案的時候,會產生package-lock.json檔案。這個package-lock.json檔案,與之前的package.json檔案有什麼區別嗎? 答案: package.json檔案記錄你專案中所需要的所有模組。當你執行npm install的時候,
package-lock.json 和 package.json 的區別
package.json: 主要用來定義專案中需要依賴的包 package-lock.json: 在執行命令 "npm install / i " 的時候自動生成的檔案,用以記錄當前狀態下實際安裝的各個npm package的具體來源和版本號。
【Java】接口開發中關於接受和發送json的相關範例
actual not span data private pla doby arr oms 接受json package com.suneee.scn.wms.web.rocketmq; import java.util.List; import net.sf.jso
Json和Python通過Json互動中出現轉義的問題
後端springboot當把 JSONObject jObject1=new JSONObject(); jObject1.put("operate_name", "input_data"); jObject1.put("excelAllData", excelAllData); jObject
lua中的package.path和package.cpath
一. package.path用於搜尋自己寫的庫檔案或者第三方的庫檔案 --搜尋指定路徑下,以 .lua結尾的檔案 package.path = "../t/?.lua;../xjnlib/sr
nodeJS中的Cookie和Session
存在 破解 ron app send 第一次 頁面 ble end Cookie ● HTTP是無狀態協議。簡單地說,當你瀏覽了一個頁面,然後轉到同一個網站的另一個頁面,服務器無法認識到,這是同一個瀏覽器在訪問同一個網站。每一次的訪問,都是沒有任何關系的。 那麽世界
NodeJS中的require和import
ES6標準釋出後,module成為標準,標準的使用是以export指令匯出介面,以import引入模組,但是在我們一貫的node模組中,我們採用的是CommonJS規範,使用require引入模組,使用module.exports匯出介面。 不把require和import整清楚,會在未來的標準程式設計中死
nodejs中tcp伺服器和http伺服器實現的異同
一,相同點 1,都呼叫了createServer方法。 2,當客戶端接入時都會執行一個回撥函式。 二,不同之處 1,回撥函式的中物件的型別。net伺服器中,是個連線(connect)
Oracle package包頭和package body包體例子
本文系轉載,原文地址:http://blog.itpub.net/26435490/viewspace-1078212/ 一 包的組成 包頭(package):包頭部分申明包內資料型別,常量,變數,遊標,子程式和異常錯誤處理,這些元素為包的公有元素。 包主體(pa
nodejs中如何建立和載入模組
在nodejs中,建立一個模組非常簡單,因為一個檔案就是一個模組,我們要關注的就是如何在其他檔案中獲取到這個模組。 在Node.js中提供了exports和require兩個物件, 其中exports是模組公開的介面,require用於從外部獲取一個模組的介面。 下面就是一
nodejs中的方法和模組的使用
在nodejs中方法的呼叫是怎樣的呢? 一起來愉快的寫程式碼吧 。 var express = require("express"); var app = express(); var hostName = "127.0.0.1"; var port =
shell中使用sort和uniq實現兩檔案的並集,交集和差集
網上轉的,不錯,比使用awk容易點 給定兩個檔案 a.txt 和 b.txt ,每行是一個記錄(假設沒有重複),要求輸出兩集合的交集、並集、差集,輸出的結果只包括唯一項。交集定義為同時出現在兩個檔案中的記錄項,並集定義為出現在任何一個檔案中的記錄項,差集(A-B)定義為出現在A中而且不出現在B中的記
開發板uboot中配置tftp和nfs網路載入檔案
## 配置核心啟動的串列埠引數, root=/dev/nfs是告訴核心使用網路來載入檔案系統,nfsroot為伺服器的nfs共享目錄 ## 注意ip一定要配置為dhcp,否則無法正常啟動nfs檔案系統
在C++檔案讀寫操作中,seekg()和seekp()是一樣的功能
如果是fstream定義的物件,則seekg()和seekp()是一樣的功能,還有tellp和tellg seekg是從ifstream類裡繼承來的 seekp是從ofstream類繼承來的 兩者的功能在fstream裡都是定位讀寫指標 char s1[30]={'\0'
iOS多執行緒中,佇列和執行的排列組合結果分析
本文是對以往學習的多執行緒中知識點的一個整理。 多執行緒中的佇列有:序列佇列,併發佇列,全域性佇列,主佇列。 執行的方法有:同步執行和非同步執行。那麼兩兩一組合會有哪些注意事項呢? 如果不是在董鉑然部落格園看到這邊文章請 點選檢視原文 提到多執行緒,也就是四種,pthread,NSthread,GCD
Idea中使用Springboot和webuploader外掛進行檔案上傳
關於使用webuploader進行初步的檔案上傳,做一個筆記。 開發工具: IntelliJ IDEA 使用框架: SpringBoot 前端頁面: FreeMaker 專案準備 引入需要的jar包 <depe