1. 程式人生 > >nodejs中package.json和package-lock.json檔案的功能分析

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.jsonpackage-lock.json都不存在,執行"npm install"時,node會重新生成package-lock.json檔案,然後把node_modules中的模組資訊全部記入package-lock.json檔案,但不會生成package.json檔案,此時,你可以通過"npm init --yes"來生成package.json檔案

相關推薦

nodejspackage.jsonpackage-lock.json檔案功能分析

最新版nodejs中,多了一個package-lock.json檔案,剛開始對這個檔案很是疑惑,後來查了一番資料後,通過驗證,終於確定了這兩個檔案的關係。 package.json與package-lock.json檔案的作用 package.json檔案記錄你專案中所需

nodepackage.jsonpackage-lock.json檔案的作用

npm5以前是不會有package-lock.json這個檔案的。可以單獨升級npm而不升級node.js npm5以後才加入了這個檔案 當你安裝包的時候,npm都會生成或者更新package-lock.json這個檔案。 npm5以後的版本安裝包不需要加–save引數,它會自動儲存依賴資訊

package.jsonpackage-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.jsonpackage.json的作用

狀態 保持 可能 管理器 例如 ejs 方式 超過 一個 轉自:https://www.cnblogs.com/cangqinglang/p/8336754.html package-lock.json的作用就是鎖定安裝依賴時包的版本,並且需要上傳到git,以保證其他人np

關於package.jsonpackage-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

JsonPython通過Json互動出現轉義的問題

後端springboot當把 JSONObject jObject1=new JSONObject(); jObject1.put("operate_name", "input_data"); jObject1.put("excelAllData", excelAllData); jObject

luapackage.pathpackage.cpath

一. package.path用於搜尋自己寫的庫檔案或者第三方的庫檔案 --搜尋指定路徑下,以 .lua結尾的檔案 package.path = "../t/?.lua;../xjnlib/sr

nodeJS的CookieSession

存在 破解 ron app send 第一次 頁面 ble end Cookie ● HTTP是無狀態協議。簡單地說,當你瀏覽了一個頁面,然後轉到同一個網站的另一個頁面,服務器無法認識到,這是同一個瀏覽器在訪問同一個網站。每一次的訪問,都是沒有任何關系的。 那麽世界

NodeJS的requireimport

ES6標準釋出後,module成為標準,標準的使用是以export指令匯出介面,以import引入模組,但是在我們一貫的node模組中,我們採用的是CommonJS規範,使用require引入模組,使用module.exports匯出介面。 不把require和import整清楚,會在未來的標準程式設計中死

nodejstcp伺服器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使用sortuniq實現兩檔案的並集,交集差集

網上轉的,不錯,比使用awk容易點 給定兩個檔案 a.txt 和 b.txt ,每行是一個記錄(假設沒有重複),要求輸出兩集合的交集、並集、差集,輸出的結果只包括唯一項。交集定義為同時出現在兩個檔案中的記錄項,並集定義為出現在任何一個檔案中的記錄項,差集(A-B)定義為出現在A中而且不出現在B中的記

開發板uboot配置tftpnfs網路載入檔案

## 配置核心啟動的串列埠引數, 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使用Springbootwebuploader外掛進行檔案上傳

關於使用webuploader進行初步的檔案上傳,做一個筆記。 開發工具: IntelliJ IDEA 使用框架: SpringBoot 前端頁面: FreeMaker 專案準備 引入需要的jar包 <depe