Node中require,module,exports怎么玩

NodeJs中的模块系统

绝对模块:Node通过在其内部node_modules查找到或者Node内置的fs这样的模块。比如你安装你一个pug模块,路径就成了./node_modules/pug,这种情况下就可以直接通过名字require这个模块require('pug')
相对模块:将require指向一个想对工作目录中的JavaScript文件。
这里写图片描述文件结构

暴露API

让模块暴露出一个API成为require调用的返回值,要依靠module和exports这两个全局变量
默认情况下,每个模块都会暴露出一个空对象,可以用exports在该对象上添加属性:

module_a.js

exports.name = 'ldl';
exports.data = 'this is some data';

var privateVariable = 6;

exports.getPrivate = function(){
    return privateVariable;
};

main.js

var a = require('./module_a');
console.log(a.name);
console.log(a.data);
console.log(a.getPrivate());
//执行情况
PS E:\codes\nodejs\module> node main
ldl
this is some data
6

exports其实就是对module.exports的引用,其在默认情况下是一个对象。你也可以彻底重写module.exports来满足你的需求。

person.js

module.exports = Person;

function Person (name){
    this.name = name;
};

Person.prototype.talk = function (){
    console.log('my name is',this.name);
}

index.js

var Person = require('./person');
var ldl = new Person('ldl');
ldl.talk();
PS E:\codes\nodejs\module> node index
my name is ldl

以上就是NodeJs中模块系统的简单玩法.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值