为了让Node的文件可以互相调用,Node.js提供了一个简单的模块系统。模块是Node.js应用程序的基本组成部分,文件和模块是一一对应的,So,一个Node.js文件就是一个模块,这个模块可以是json、js或者编译过的C/C++扩展。
下面就简单介绍一下模块系统。
创建模块
下面代码就简单创建一个模块,命名为main.js。其中./hello表示引入了当前目录下的hello.js文件,Node.js默认后缀名为js,所以不需要加.js。
var hello = require('./hello');hello.world();
Node.js提供了两个对象供模块使用,分别是require和export,export是模块的公开接口,require用于从外部获取一个模块的接口,也就是获取模块的export对象。下面就创建hello.js文件。
exports.world = function() { console.log('Hello World');}
可以看到,hello.js通过export对象将world作为外部访问的接口,再main.js中,通过require加载模块,从而直接访问export对象的成员函数。更高级一点,我们只想将一个对象封装到模块中,就可以采用下面的方式,以hello.js为例。
function Hello() { var name; this.setName = function(thyName) { name = thyName; }; this.sayHello = function() { console.log('Hello ' + name); }; }; module.exports = Hello
main.js: var Hello=require('./hello');hello=new Hello();hello.setName('BYVoid'); hello.sayHello();
在控制台执行输出:HelloBYVoid
require的文件查找策略:
相关推荐:
Atas ialah kandungan terperinci Node.js模块系统实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!