完全符合package.json在CommonJS中的规范

众所周知,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"
		}
	}
}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。