众所周知,package.json是CommonJS规定的用来描写叙述包的文件,全然符合规范的package.json文件应该含有一下字段。
name:包的名称,必须是唯一的。由小写英文字母、数字和下划线组成。不能包括空格。
description:包的简要说明。
version:符合语义化八本识别规范的版本号字符串。
keywords:关键字数组。通经常使用于搜索。
maintainers:维护者数组,每一个元素要包括name、email(可选)、web(可选)字段。
contributors:贡献者数组,格式与maintainers同样。包的作者应该是贡献者数组的第一个元素。
bugs:提交bug的地址,能够是网址或者电子邮件地址。
licenses:许可证数组,每一个元素要包括type(许可证的名称)和url(链接到许可证文本的地址)字段。
repositories:仓库托管地址数组。
每一个元素要包括type(许可证的名称)和url(链接到许可证文本的地址)字段。
dependencies:包的依赖,一个关联数组。由包名称和版本号组成。
以下是一个全然符合CommonJS规范的package.json演示样例:
{
"name":"mypackage",
"description":"Sample package for CommonJS.This package demonstrates the required elements of a CommonJS package."
"version":"0.7.0",
"keywords":[
"package",
"example"
],
"maintainers":[
{
"name":"Bill Smith",
"email":"[email protected]"
}
],
"contributors":[
{
"name":"BYVoid",
"web":"http://www.byvoid.com"
}
],
"bugs":{
"mail":"[email protected]",
"web":"http://www.example.com/bugs"
},
"licenses":[
{
"type":"GPLv2",
"url":"http://www.example.org/licenses/gp1.html"
}
],
"repositories":[
{
"type":"git",
"url":"http://github.com/BYVoid/mypackage.git"
}
],
"dependencies":{
"webkit":"1.2",
"ssl":{
"gnutls":["1.0","2.0"],
"openssl":"0.9.8"
}
}
}