快速掌握如何在NodeJs中定义模块


定义模块

方式一

//moduleClass.js
//导出一个类
module.exports = class classModule {
  constructor(para) {
    this.para = para;
  }

  test() {
    return this.para + 2;
  }
};

方式二

//moduleExample.js
//使用exports
const tmpData = "+私有变量+";

exports.testa = r => console.log("testA执行" + tmpData + r);

exports.testb = r => console.log("testB执行" + tmpData + r);

事件

//moduleEvent.js
const EventEmitter = require("events");

module.exports = new EventEmitter();

//一秒后触发事件
setTimeout(() => {
  module.exports.emit("ready");
}, 1000);

导入模块

const classModule = require("./moduleClass");
const eventModule = require("./moduleEvent");
const example = require("./moduleExample");

var tmpClass = new classModule(1);
console.log("classModule.test():" + tmpClass.test());

eventModule.on("ready", () => {
  console.log("ready事件触发了");
});

example.testa(1);
example.testb(2);

输出

classModule.test():3
testA执行+私有变量+1
testB执行+私有变量+2
ready事件触发了

源码下载

https://github.com/MscoderStudio/nodejs-tutorials/tree/master/module_example

官方文档

https://nodejs.org/dist/latest-v10.x/docs/api/modules.html#modules_exports