符合CommonJS规范的包应该具备以下特征:

  • package.json必须在包的顶层目录下;
  • 二进制文件应该在bin目录下;
  • JavaScript代码应该在lib目录下;
  • 文档应该在doc目录下;
  • 单元测试应该在test目录下;

package.json文件

Node.js在调用某个包时,会首先检查包中的package.json文件中的main字段,将其作为包的接口模块。如果package.json或main字段不存在,会尝试寻找index.js或index.node作为包的接口。

package.json文件应该含有以下字段:

  • name:包的名称,必须是唯一的;
  • description:包的简要说明;
  • version:符合语义化版本识别规范的版本字符串;
  • keywords:关键字数组,用于搜索;
  • maintainers:维护者数组,每个元素要包含name、email(可选)、web(可选)字段;
  • contributors:贡献者数组,格式与maintainers相同。包的作者应该是贡献者数组的第一个元素;
  • bugs:提交bugs的地址,可以是网址或者电子邮件地址;
  • licenses:许可证数组,每个元素要包含type(许可证的名称)和url(链接到许可证文本的地址)字段;
  • repositories:仓库托管地址数组,每个元素要包含type(仓库的类型,如git)、url(仓库的地址)和path(相对于仓库的路径,可选)字段;
  • dependencies:包的依赖,一个关联数组,由包名称和版本号组成;

未完待续。。。

本文作者:子匠_Zijor,转载请注明出处:http://www.dengzhr.com/node-js/835