Node.js中exports和module.exports

Node.js中,一个Javascript文件中定义的变量、函数、都值在这个文件内部有效,当需要从模块外部引用这些变量、函数时,必须使用exports对象进行暴露,使用者要用require()命令引用这个JS文件。
一个JS文件,可以向外exports无数个变量、函数。但是require的时候的时候,仅仅需要require这个JS文件一次。使用它暴露的变量、函数的时候,用点语法即可。所以,无形之中,增加了一个顶层命名空间。
被引用文件foo.js

var hehe= "呵呵";
var xixi = "嘻嘻";
function showInfo() {
    console.log(xixi);
}
exports.hehe =hehe;
exports.xixi =xixi;
exports.showInfo = showInfo;

使用者文件04.js

var foo = require("./test2/foo.js");
console.log(foo.hehe);
console.log(foo.xixi);
foo.showInfo();

运行04.js 结果如下图:
这里写图片描述

另外一种,可以将一个JavaScript文件中,描述为一个类、用
module.export =构造函数名;
的方式向外暴露一个类。

被引用文件 People.js

function People(name,age,sex) {
    this.name = name;
    this.age = age;
    this.sex = sex;
}

People.prototype.sayHello = function () {
    console.log(this.name + this.age +this.sex);
};


//此时,People就被视为构造函数,可以用new来实例化了
module.exports = People;

使用者05.js

var People = require("./test2/People.js");
var xiaoming = new People("小明","男","12");
xiaoming.sayHello();

运行05.js
这里写图片描述

总结:

1) 被引用的js文件中,提供了变量,函数,供别人使用,就用exports.变量名 = 变量名; exports.函数名=函数名;
2)被引用的js文件,描述一个类。就用module.exports = 类名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值