首页 > nodejs中require.main变量的使用疑问

nodejs中require.main变量的使用疑问

在nodejs中require.main变量可以用来检测到一个模块是否为应用程序的主模块代码如下:

javascriptconsole.log('mark');
if(module === require.main) {
    console.log('module');
}

执行上面js控制台输出为:mark及module。但当我在上述代码中引入一个自定义模块时,require.main判断就不好使了,代码如下:

javascriptvar module = require('./module.js');
console.log('mark');
if(module === require.main) {
    console.log('module');
}

module.js中没有任何代码,这代码和上述代码的区别只是引入了一个空的模块,不知道为什么就不好使了 。


因为你把module变量覆盖了.....

试着更改如下:

var abc = require('./module.js');

你没发现你引入的模块所赋值的变量名叫 module 吗?
你把原来的 module 覆盖了.

var n = require('./module.js');
console.log('mark');
if(module === require.main) {
    console.log('module');
}

【热门文章】
【热门文章】