Node.js学习(7)----包
包是在模块的基础上更深一步的抽象,Node.js的包类似于C/C++函数库或者Java/.NET的类库。它将独立的功能封装起来用于发布、更新、依赖管理和版本控制。
Node.js的包是一个目录,其中包含一个JSON格式的包说明文件package.json.这里必须在顶层目录下。为了提供兼容性,我们建议严格按照commonJS规范。
严格符合CommonJS规范的包应该具备以下特征:
#1、package.json必须在包的顶层目录下。
#2、二进制文件必须在bin目录下。
#3、Javascript代码应该在lib目录下。
#4、文档应该在doc目录下。
#5、单元测试应该在test目录下。
模块与文件一一对应。文件不仅可以是Javascript代码或二进制代码,还可以是一个文件夹。最简单的包就是一个作为文件夹的模块。
#1、建立一个somepackage文件夹
#2、在somepackage下建立index.js文件
#3、文件中写入
然后你会在one目录下发现一个package.json文件,文件内容是:
这样就成功创建一个用户了。之后再次运行npm publish,稍等片刻就可以完成发布了。因为one这个包已经存在,我没有权限更改,所以发布错误,发布成功之后是:
打开https://npmjs.org/我们会发现刚提交的包会在上面显示出来:
包的详细内容就是
现在世界所有地方的用户都可以通过npm install mrge.ge来安装这个新包了。
如果想要更新自己的包,则只需再次执行npm publish即可,如果想取消发布包,则可以在当前包的目录下运行npm unpublish即可。如图
因为权限或其他问题,有时候运行npm unpublish不能删除自己已发布的包,但是我们可以通过npm unpublish --force强制删除自己发布的包。