JavaScript对象混淆

可能重复:
NodeJS module.exports的用途是什么?你如何使用它?

我有以下代码:

var express = require('express');
var app = module.exports= express();
require('./config/environment.js')(app, express, __dirname);
require('./routes/default.js')(app, __dirname);


module.exports = function (app, express, dirname) {
....
};

module.exports = function (app, dirname) {
....
};

这段代码发生了什么。 第二个字符串表示,那个module.exports和app是同一个对象,对吧?

但在函数(...)部分应用程序作为参数传递和代码喜欢“到对象”模块'添加方法'出口'并做了2次“我想添加一些函数,要在每个函数内使用( ...),但不能因为不了解该结构发生了什么。 谢谢


你为什么要分配三次module.exports? 在你的代码中,module.exports将首先等于通过express express返回的内容。 然后module.exports将等于你的函数(不是它返回的内容),并且需要3个参数。 然后module.exports将等于你的最终函数(同样不是它返回的)带两个参数。 因此,在你的代码模块的结尾处.exports将等于那个最终的函数。 所以我没有看到前两个任务需要什么。 应用程序将等于module.exports在最后,因为应用程序指向module.exports整个时间。 无论您希望应用作为参数传递给它,都没关系,因为在将函数分配给module.exports之后,上面的代码中没有实际将应用传入该函数的位置。 您在这里完成的所有操作都是命名参数“应用程序”。

我认为你在这里错过了代码,或者被以前可能使用过的其他语言弄糊涂了。

查找道格拉斯克罗克福德如果语言不清楚给你。

我希望有所帮助。

链接地址: http://www.djcxy.com/p/96623.html

上一篇: javascript objects confusion

下一篇: Correct way of exporting module