npm package.json 文件基礎知識

前言:package.json文件是Node.js生態系統的核心,是瞭解和使用Node.js,npm甚至現代JavaScript的基本部分。
它是應用程序、模塊、npm引入包等的清單。

name

是package.json的組成核心,它是定義此模塊名稱的字段html

"name": "moldename"

version

它是描述此模塊版本號。node

"version": "5.12.4"

license

它是描述的模塊的標準。git

"license": "MIT"

description

它是開發者對此模塊的描述和介紹。github

"description": "這是個人模塊。"

keywords

它是此模塊的關鍵字,利於在npm包搜索中被發現。npm

"keywords": [
        "metaverse",
        "virtual reality",
        "augmented reality",
        "snow crash"
    ]

main

是指向package.json正在描述的模塊的入口。在Node.js應用程序中,當經過require語句調用模塊時,模塊從main屬性中指定的文件導出的內容將返回給Node.js應用程序。json

"main": "app.js",

repository

repository屬性package.json是一個數組,它定義模塊的源代碼所在的位置。一般,對於開源項目,這將是一個公共GitHub倉庫,repository數組包括版本以及倉庫URL。數組

"repository": {
  "type": "git",
  "url": "https://github.com/bnb/metaverse.git"

}app

scripts

scripts屬性根據須要獲取具備儘量多的鍵/值對的對象。這些鍵/值對中的每一個鍵都是能夠運行的命令的名稱。每一個鍵的相應值是運行的實際命令。async

"scripts": {
        "build": "node app.js",
        "test": "standard"
    }

dependencies

dependencies是這個模塊的一些依賴,包括了包名稱和版本。ui

"dependencies": {
    "async": "^0.2.10",
    "npm2es": "~0.4.2",
    "optimist": "~0.6.0",
    "request": "~2.30.0",
    "skateboard": "^1.5.1",
    "split": "^0.3.0",
    "weld": "^0.2.2"
  },

devDependencies

dependencies屬性用於定義模塊在生產中須要運行的依賴關係。該devDependencies屬性一般用於定義模塊在開發中須要運行的依賴關係。

"devDependencies": {
    "escape-html": "^1.0.3",
    "lucene-query-parser": "^1.0.1"
}
相關文章
相關標籤/搜索