nodejs----包学习
包是在模块基础上更深一步的抽象,nodejs的包类似于c/c++的函数库或者java/.net的类库。它将某个独立的功能封装起来,用于发布、更新、依赖管理和版本控制。nodejs根据commonjs规范实现了包机制,开发了npm来解决包的发布和获取需求。
模块与文件是一一对应的。文件不仅可以是javascript代码或者二进制代码,还可以是一个文件夹。最简单的包,就是一个作为文件夹的模块。
实验示例:建立一个somepackage的文件夹,在其中创建一个index.js文件:
export.hello = function(){ console.log('hello'); }
然后再somepackage之外建立getpackage.js文件:
var somepackage = require('./somepackage'); somepackage.hello();
运行结果:
使用这种方法可以把文件夹封装为一个模块,即所谓的包。包通常是一些模块的集合,在模块的基础上提供了更高层的抽象,相当于提供了一些固定接口的函数库。通过定制package.json,我们可以创建更复杂、更完善、更符合规范的包用于发布。