前言:package.json文件是Node.js生態系統的核心,是瞭解和使用Node.js,npm甚至現代JavaScript的基本部分。 它是應用程序、模塊、npm引入包等的清單。
是package.json的組成核心,它是定義此模塊名稱的字段html
"name": "moldename"
它是描述此模塊版本號。node
"version": "5.12.4"
它是描述的模塊的標準。git
"license": "MIT"
它是開發者對此模塊的描述和介紹。github
"description": "這是個人模塊。"
它是此模塊的關鍵字,利於在npm包搜索中被發現。npm
"keywords": [ "metaverse", "virtual reality", "augmented reality", "snow crash" ]
是指向package.json正在描述的模塊的入口。在Node.js應用程序中,當經過require語句調用模塊時,模塊從main屬性中指定的文件導出的內容將返回給Node.js應用程序。json
"main": "app.js",
repository屬性package.json是一個數組,它定義模塊的源代碼所在的位置。一般,對於開源項目,這將是一個公共GitHub倉庫,repository數組包括版本以及倉庫URL。數組
"repository": { "type": "git", "url": "https://github.com/bnb/metaverse.git"
}app
scripts屬性根據須要獲取具備儘量多的鍵/值對的對象。這些鍵/值對中的每一個鍵都是能夠運行的命令的名稱。每一個鍵的相應值是運行的實際命令。async
"scripts": { "build": "node app.js", "test": "standard" }
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" },
dependencies屬性用於定義模塊在生產中須要運行的依賴關係。該devDependencies屬性一般用於定義模塊在開發中須要運行的依賴關係。
"devDependencies": { "escape-html": "^1.0.3", "lucene-query-parser": "^1.0.1" }