1. 程式人生 > >nodejs package.json詳解

nodejs package.json詳解

  每個專案的根目錄下面,一般都會有package.json檔案,定義了這個專案中所需各種模板及專案中的配置資訊。npm install命令根據這個配置檔案,自動下載所需的模組,也就是配置專案中所需的執行和開發環境。

  仔細觀察package.json檔案可以發現其內部就是一個json物件,該物件的每一個成員就是當前專案的一項設定。

package.json可配置項

name:專案名稱

deecription:應用專案描述

version 版本號

config:應用的配置項

author:作者

respository:資源倉庫地址

licenses:授權方式

directories:目錄

main:應用入口檔案

bin:命令列檔案

dependencries:專案應用執行依賴模組

devDependencies:專案應用開發環境依賴

engines:執行引擎,指明node.js執行所需要的版本

script:指令碼

完整配置

{
  //專案名稱
  "name": "demo",
  //版本號(遵守“主版本.次要版本.補丁號”的格式
  "version": "1.0.0",
  //description描述你的模組,或者搜尋
  "description": "vue.js js iview ",
  //main欄位指定了載入的入口檔案,即主檔案
  "main": "app.js",
  // scripts指定了執行指令碼命令的npm命令列縮寫,比如start指定了執行npm start時,所要執行的命令。
  "scripts": {
    "start": "node index.js"
  },
  //repository(倉庫)指定一個程式碼存放地址
  "repository": {
    "type": "git",
    "url": "git+https://github.com/XXXX"
  },
  //作者
  "author": "mayuan",
  //授權方式
  "license": "MIT",
  //指明node.js執行所需要的版本
  "engines": {
      "node": "0.10.x"
  },
  "bugs": {
      "url": "https://github.com/XXXX"
  },
  // 一個字串陣列,方便別人搜尋到本模組
  "keywords": [
  "vue","iview"
  ],

  //devDependencies指定專案開發所需要的模組
  "devDependencies": {
      "babel-core": "^6.23.1",
      "babel-loader": "^6.3.2",
      "babel-preset-es2015": "^6.22.0",
      "vue-html-loader": "^1.0.0",
      "vue-loader": "^8.5.2",
      "vue-style-loader": "^1.0.0",
      "webpack": "^1.13.2"
  },
  //dependencies欄位指定了專案執行所依賴的模組
  "dependencies": {
      "express": "latest", //指定express是最新版本
      "mongoose": "~3.8.3",
      "handlebars-runtime": "~1.0.12",
      "express3-handlebars": "~0.5.0",
      "MD5": "~1.2.0"
  }
}

有了package.json檔案,直接使用npm install命令,就會在當前目錄中安裝所需要的模組
npm install

如果一個模組不在package.json檔案之中,可以單獨安裝這個模組,並使用相應的引數,將其寫入package.json檔案之中。以載入“ejs”模組為例
npm install ejs --save  
npm install ejs --save-dev 

上面程式碼表示單獨安裝ejs模組。--save表示將該模組寫入dependencies屬性,--save -dev表示將該模組寫入devDependencies屬性。同時省略則表示不寫入package.json檔案中。

補充:

  模板下載之後可以檢視訪問各個模組版本及最新版本。我是採用webstorm開啟專案的,具體操作如下

 1、選擇File->settings->Languages&Frameworks->Node.js and NPM


   當然,這的大前提是需要你在webstorm中配置node.js資訊。

版本號

表示式 版本範圍
>=1.2.7 大於等於1.2.7
>=1.2.7 <1.3.0 1.2.7,1.2.8,1.2.9
1.2.3-2.3.4 >=1.2.3 <=2.3.4
1.2-2.3.4 >=1.2.0 <=2.3.4
1.2.3-2.3 >=1.2.3 <2.4.0
1.2.3-2 >=1.2.3 <3.0.0
* >=0.0.0
1.x(等價於1.X) >=1.0.0 <2.0.0
1.2.x >=1.2.0 <3.0.0
""(等價於*) >=0.0.0
1(等價於1.x.x) >=1.0.0.0 <2.0.0
1.2(等價於1.2.x) >=1.2.0 <1.3.0
~1.2.3(>=1.2.3 <1.(2+1).0) >=1.2.3 <1.3.0
~1.2(>=1.2.0 <1.(2+1).0) >=1.2.0 <1.3.0
~1(>=1.0.0 <(1+1).0.0) >=1.0.0 <2.0.0
~0.2.3(>=0.2.3 <0.(2+1).0) >=0.2.3 <0.3.0
~0.2(>=0.2.0 <0.(2+1).0) >=0.2.0 <0.3.0
~9(>=0.0.0 <(0+1).0.0) >=0.0.0 <1.0.0
~1.2.3-beta.2 >=1.2.3-beta.2 <1.3.0
^1.2.3 >=1.2.3 <2.0.0
^0.2.3 >=0.2.3 <0.3.3
^0.0.3 >=0.0.3 <0.0.4
^1.2.3-beta.2 >=1.2.3-beta.2 <2.0.0
^0.0.3-beta >=0.0.3 <0.0.4
^1.2.x >=1.2.0 <2.0.0
^0.0.x >=0.0.0 <0.1.0
^0.0 >=0.0.0 <0.1.0
^1.x >=1.0.0 <2.0.0
^0.x >=0.0.0 <1.0.0
demo示例可檢視http://blog.csdn.net/hh12211221/article/details/77573292