众所周知,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":"bills@example.com" } ], "contributors":[ { "name":"BYVoid", "web":"http://www.byvoid.com" } ], "bugs":{ "mail":"dev@example.com", "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" } } }