'variable':function(req,res){}是什么意思?

时间:2014-04-22 21:50:00

标签: javascript node.js function

我目前正在使用node.js,所以我第一次使用Js超越dom操作。

我遇到了类似下面的代码片段。我无法理解。怎么了?它是一个关键的价值对象吗?匿名function是否已传递给'new'

module.exports = {

  'new': function(req, res) {
    res.view();
  },

  /**
   * Overrides for the settings in `config/controllers.js`
   * (specific to UserController)
   */
  _config: {}


};

2 个答案:

答案 0 :(得分:2)

正如其他人所说,这最终只是创建一个名为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”的内容时,可能在其他位置配置了调用此方法的路由。

答案 1 :(得分:1)

看起来像基本的JavaScript。

名为 module 的对象具有名为 exports 的属性,该属性是一个对象。

此对象具有名为 new 的属性,其值为匿名函数。

理论上你可以调用这样的方法:

module.exports.new(someRequest, someResponse);