前言: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" }