我目前正在开始使用node.js,所以我第一次使用Js超越dom操作。
我遇到了如下代码片段。我无法理解。怎么了?它是一个键值对象吗?是否将匿名函数
传递给'new'
?
module.exports = {
'new': function(req, res) {
res.view();
},
/**
* Overrides for the settings in `config/controllers.js`
* (specific to UserController)
*/
_config: {}
};
最佳答案
正如其他人所说,这最终只是创建一个名为 module.exports 的对象,然后为其分配两个属性。一个是另一个名为 _config
的对象,另一个是一个名为 new
的函数,它需要两个参数。
这是简单的 JavaScript 解释。
在 Node.js 中,您还会看到一些正在发挥作用的约定,我将在下面进行描述。
<小时/>一个约定是module.exports
。
当其他代码使用 require()
加载此文件时,该对象将可用。它会像这样工作:
var m = require('yourmodule.js');
m.new(req, res);
<小时/>
另一个约定是一对参数:req, res
。
这些通常是表示请求(如 http.IncomingMessage
)和响应(如 http.ServerResponse
)的参数。
总而言之,这个模块可能定义了一个 Controller ,它将接收 http 请求,并将它们呈现为响应。目前,它针对 new
执行此操作,并且当用户请求类似“http://server.come/user/new”之类的内容时,其他地方可能配置有调用此方法的路由。 '.
关于javascript - “变量”: function(req, res){} 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23230860/