Node.js入门:包结构
- 一个package.json文件应该存在于包顶级目录下
- 二进制文件应该包含在bin目录下。
- JavaScript代码应该包含在lib目录下。
- 文档应该在doc目录下。
- 单元测试应该在test目录下。
- name:包名,需要在NPM上是唯一的。不能带有空格。
- description:包简介。通常会显示在一些列表中。
- version:版本号。一个语义化的版本号(http://semver.org/ ),通常为x.y.z。该版本号十分重要,常常用于一些版本控制的场合。
- keywords:关键字数组。用于NPM中的分类搜索。
- maintainers:包维护者的数组。数组元素是一个包含name、email、web三个属性的JSON对象。
- contributors:包贡献者的数组。第一个就是包的作者本人。在开源社区,如果提交的patch被merge进master分支的话,就应当加上这个贡献patch的人。格式包含name和email。
- bugs:一个可以提交bug的URL地址。可以是邮件地址(mailto:mailxx@domain),也可以是网页地址(http://url)。
- licenses:包所使用的许可证。
- repositories:托管源代码的地址数组。
- dependencies:当前包需要的依赖。这个属性十分重要,NPM会通过这个属性,帮你自动加载依赖的包。
1 "name": "express", 2 "description": "Sinatra inspired web development framework", 3 "version": "3.0.0alpha1-pre", 4 "author": "TJ Holowaychuk",
除了前面提到的几个必选字段外,我们还发现了一些额外的字段,如bin、scripts、engines、devDependencies、author。这里可以重点提及一下scripts字段。包管理器(NPM)在对包进行安装或者卸载的时候需要进行一些编译或者清除的工作,scripts字段的对象指明了在进行操作时运行哪个文件,或者执行拿条命令。如下为一个较全面的scripts案例:
1 "scripts": { 2 "install": "install.js", 3 "uninstall": "uninstall.js", 4 "build": "build.js", 5 "doc": "make-doc.js", 6 "test": "test.js", 7 }
如果你完善了自己的JavaScript库,使之实现了CommonJS的包规范,那么你可以通过NPM来发布自己的包。
npm publish <folder> |
npm install <package> |
npm install <package.json
folder> |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。