Node.js模块化
2018-04-06 本文已影响17人
拓跋123
1、概念
为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统,
模块是Node.js应用程序的基本组成部分
文件和模块是一一对应的,一个Node.js文件就是一个模块
这个文件可以是JavaSript,JSON或者编译过的C/C++扩展
2、主要模块
Node.js中存在4类模块——原生模块和3种文件模块(第三方提供);
3、模块加载流程
使用require载入模块
在文件模块缓存区中检查模块是否被载入过了,如果已经加载过了,就返回exports,
如果没有找到就检查是否为原生模块,如果是原生模块,就到原生模块缓存区中找,如果找到了返回exports,如果没有找到就加载原生模块并放到缓存中;
同样的,如果在原生模块缓存区中没有找到就到文件中查找,之后根据文件扩展名载入文件模块,并缓存文件模块缓存区中。
4、模块的加载方式:
1)从文件模块缓存中加载
2)从原生模块加载
3)从文件加载
5、加载模块的方式(require)
原生模块:http、fs、path 例:require('fs')
相对路径文件模块:./module
绝对路径/path/module
4、举个例子(例子需要两个js文件,Main.js为主文件,Hello.js为模块文件)
Hello.js
function Hello() {
var name;
this.setName = function(argName){
name = argName;
}
this.sayHello = function () {
console.log('Hello '+name);
}
}
module.exports = Hello;
Main.js
//引入Hello模块
var Hello = require("./Hello");
hello = new Hello();
hello.setName("Lidian");
hello.sayHello();