模块系统分为原生系统跟文件系统,他们的调用优先级为:文件系统缓存区 》原生系统 》原生系统缓存区
》文件系统
1.原生系统:http, path, fs 等
2.加载文件系统时还可以指定自定义文件:
./hello 或者 /root/node/hello 路径加载
3.mod 非原生系统的文件系统
Node.js 提供了exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。
在 hello.js 中:
function Hello(){
var name;
this.setName = function(thyName){
name = thyName
};
this.sayHello = function(){
console.log('hello '+name);
};
};
module.exports = Hello;
其中 创建了一个 hello 类,并且使用 module 的 export 方法将 hello 类(模块)接口暴露出去
在 main.js 中:
var Hello = require('./hello');
hello = new Hello();
hello.setName('ByVoid');
hello.sayHello();
其中 require 用来获取一个模块的接口,以便来调用模块中的方法