package.json 入門

宿命Jun發表於2019-04-10

PACKAGE.JSON

參考連結:blog.csdn.net/u011240877/…

1. package.json

npm在package.json檔案中管理專案的依賴項以及專案的後設資料。 node執行js中require(es6 import)的時候,也會根據package.json中的依賴項查詢。

2. package.json 檔案解析

2.1 作用
  • 描述了你的專案依賴哪些包,並指明依賴包的版本
  • 更好地與開發者分享,便於重複使用
2.2 欄位說明

2.2.1 文件連結 package.json

2.2.2 必選欄位

  • name 全部小寫,不支援空格
  • version 版本號

2.2.3 可選欄位

  • description 描述資訊,有助於npm search
  • keywords 關鍵字,有助於npm search
  • main 入口檔案
  • homepage 帶協議字首的URL,例如 www.xxx.com
  • bugs 提供郵箱或url連結追蹤專案的問題資訊,例如
{
    "url":"http://github.com/issues,
    "email" :"xxx@gmail.com"
}
複製程式碼
  • repository 當前的專案遠端倉庫,便於使用者進行貢獻,例如
"repository" :
  { 
    "type" : "git", 
    "url" : "http://github.com/npm/npm.git"
  }
複製程式碼
  • author 使用者,一個人,例如
{ 
    "name" : "Barney Rubble, 
    "email" : "b@rubble.com", 
    "url" : "http://barnyrubble.tumblr.com/"
}
複製程式碼

簡寫為

    "Barney Rubble <b@rubble.com>(http://barnyrubble.tumblr.com/)"
複製程式碼
  • contributors 使用者群組
  • dependencies 專案的依賴安裝包,指定版本,也可以是一個git url
  • devDependencies 基本同於dependencies,但是如果只需要下載使用某些模組,而不下載這些模組的測試和文件框架,放在這個下面比較不錯

3. 依賴包的版本號

3.1 基本的匹配模式
  • version 完全匹配
  • >version 大於這個版本
  • >=version 大於或等於這個版本
  • <version 小於這個版本
  • <=version 小於等於這個版本
  • version1 - version2,等價於 >=version1 && <=version2.
  • range1 || range2 滿足任意一個即可
  • http://... Unix系統下使用的tarball的URL。
  • git... Git地址
  • latest 保持最新版本

上述列舉條目與下面例子一一對應

{ 
    "dependencies" :
      { 
        "boo" : "2.0.1",
        "bar" : ">1.0.2", 
        "bar2" : ">=1.0.2", 
        "baz" : "<2.3.4", 
        "baz2" : "<=2.3.4", 
        "foo" : "1.0.0 - 2.9999.9999",
        "qux" : "<1.0.0 || >=2.3.1 <2.4.5“, 
        "asd" : "http://asdf.com/asdf.tar.gz", 
        'git-smt': "git address",
        "lat" : "latest",
      }
}
複製程式碼
3.2 版本號

3.2.1 規範

  • 補丁版本:解決了 bug 或者一些較小的更改,增加最後一位數字,比如 1.0.1 --> 1.0.2
  • 小版本:增加了新特性,同時不會影響之前的版本,增加中間一位數字,比如 1.0.2 --> 1.1.2
  • 大版本:大改版,無法相容之前的,增加第一位數字,比如 1.1.2 --> 2.1.2

3.2.2 更新程度

  • 如果只接受補丁版本的更新(也就是最後一位的改變),就可以這麼寫:
    • 1.0
    • 1.0.x
    • ~1.0.4
  • 如果接受小版本的更新(第二位的改變,接受補丁版本的改變),就可以這麼寫:
    • 1
    • 1.x
    • ^1.0.4
  • 如果可以接受大版本的更新(自然接受小版本和補丁版本的改變),就可以這麼寫:
    • *
    • x
    • ""

相關文章