var app = require(..)和var app = module.exports = require(..)之间有什么区别?

时间:2015-11-13 01:01:20

标签: node.js

我对常见用法有疑问,但对于nodejs newbie来说很难。

之间有什么区别
var app = require('./index');

var app = module.exports = require('./index');

有什么不同或有什么我不知道的东西? 谢谢您阅读此篇。 :)

2 个答案:

答案 0 :(得分:2)

require('./index')将返回(引用)module.exports

index.js的任何值

index.js中的代码将被function(exports, module, etc.){}

包装

因此,您的两个陈述之间的区别在于:在第二个陈述中,您分配给app的任何内容也将返回到require

var app = module.exports = require('./index'); //assume index returns{ name:'joe' } 
app.age='20;  // now you will return {name:'joe', age:20} 

现在,如果您需要此文件,您将收到{name:'joe', age:20}

答案 1 :(得分:0)

var app = module.exports = require('./index');

相同
module.exports = require('./index');
var app = module.exports;