當我們檢視package.json中已安裝的庫的時候,會發現他們的版本号之前都會加一個符号,有的是插入符号
^
,有的是波浪符号
~
。那麼他們到底有什麼差別呢?
"dependencies": {
"es6-promise": "~4.1.0",
"vux": "2.3.3",
"zepto": "^1.2.0"
},
//指定安裝依賴的版本号:
* '2.1.1' 表示安裝指定的版本号,也就是安裝2.1.1版本。
* '~2.1.1' 表示安裝2.1.x的最新版本,安裝時不改變大版本号和次要版本号。
* '^2.1.1' 表示安裝2.x.x的最新版本,安裝時不改變大版本号。
package-lock.json作用
- 安裝之後鎖定包的版本,手動更改package.json檔案安裝将不會更新包,想要更新隻能使用 npm install [email protected] --save 這種方式來進行版本更新package-lock.json 檔案才可以
- 加快了npm install 的速度,因為 package-lock.json 檔案中已經記錄了整個 node_modules 檔案夾的樹狀結構,甚至連子產品的下載下傳位址都記錄了,再重新安裝的時候隻需要直接下載下傳檔案即可