Nodejs中的模块系统

一、模块化的定义

①具有文件作用域

②具有通信规则:加载和导出规则

二、CommonJS模块规范

1.nodejs中的模块系统,具有文件作用域,也具有通信规则,使用require方法加载模块,使用exports接口对象导出模块中的成员

2.加载require

①语法:

var 自定义变量名称 = require(‘模块’)

②两个作用:执行被加载模块中的代码,得到加载模块中的exports导出接口对象

3.导出exports

①nodejs中的是模块作用域,默认文件中的所有成员只在当前文件模块有效

②对于希望可以被其他模块访问的成员,可以挂载到exports接口对象中

③导出多个成员(必须在对象中):

//导出数字
exports.a=123;
//导出字符串
exports.b='hello';
//导出函数
exports.c=function(){
    console.log('good');
}
//导出对象
exports.d={
    foo:'bar'
}

④导出单个成员(拿到的是就是:函数或者字符串):

moudle.exports='hello';

⑤以下情况会覆盖

module.exports='hello';
module.exports={
    num:123,
    str:'world'
}

⑥也可以这样来导出多个成员

module.exports={
    num:123,
    str:'world',
    add:function(x,y){
        return x+y;
    }
}

⑦原理解释:exports是moudle.exports的一个引用

猜你喜欢

转载自www.cnblogs.com/EricZLin/p/9289278.html