Nodejs模块初始化

℡╲_俬逩灬. 提交于 2020-03-30 03:20:04

模块初始化
一个模块中的JS代码仅在模块第一次被使用时执行一次,并在执行过程中初始化模块的导出对象。之后,缓存起来的导出对象被重复利用。

主模块
通过命令行参数传递给NodeJS以启动程序的模块被称为主模块。主模块负责调度组成整个程序的其它模块完成工作。例如通过以下命令启动程序时,main.js就是主模块。

$ node main.js
完整示例
例如有以下目录。

  • /home/user/hello/
    • util/
      counter.js
      main.js
      其中counter.js内容如下:

var i = 0;

function count() {
return ++i;
}

exports.count = count;
该模块内部定义了一个私有变量i,并在exports对象导出了一个公有方法count。

主模块main.js内容如下:

var counter1 = require('./util/counter');
var counter2 = require('./util/counter');

console.log(counter1.count());
console.log(counter2.count());
console.log(counter2.count());
运行该程序的结果如下:

$ node main.js
1
2
3
可以看到,counter.js并没有因为被require了两次而初始化两次。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!