Node.js module.exports

🌙
手机阅读
本文目录结构

Node.js module.exports

新增于: v0.1.16

  • < Object>

module.exports 对象由 Module 系统创建。

有时这是不可接受的;

许多人希望他们的模块成为某个类的实例。

为此,需要将期望导出的对象赋值给 module.exports

注意,将期望的对象赋值给 exports 会简单地重新绑定本地的 exports 变量,这可能不是所期望的。

例如,假设正在创建一个名为 a.js 的模块:

const EventEmitter = require('events');

module.exports = new EventEmitter();

// 处理一些工作,并在一段时间后从模块自身触发 'ready' 事件。
setTimeout(() => {
  module.exports.emit('ready');
}, 1000);

然后,在另一个文件中可以这么做:

const a = require('./a');
a.on('ready', () => {
  console.log('模块 a 已准备好');
});

注意,对 module.exports 的赋值必须立即完成。 不能在任何回调中完成。

以下是不起作用的:

x.js:

setTimeout(() => {
  module.exports = { a: 'hello' };
}, 0);

y.js:


const x = require('./x');
console.log(x.a);

更多module 对象的API介绍,请点击Node.js module 对象查看


更多内容请参考:Node.js module 模块,或者通过 点击对应菜单 进行查看;



AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

目前重心已经放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>