Node.js res.send 不是函数

新手上路,请多包涵

我正在尝试以下代码,但它给了我一个错误,“res.send 不是一个函数”。请帮我。

这是代码:

 var http = require('http');
var fs = require('fs');
var connect = require('connect');
var express = require('express');

var app = express();
app.get('/', function(res, req  ) {
        res.send('Hello World');
    });

var server = app.listen(8888, function(){
    var host = server.address().address;
    var port = server.address().port;
    console.log("Example app listening at http://%s:%s", host, port);
});

服务器运行良好并且正在连接。显示的完整错误是这样的:

TypeError: res.send 不是位于 c:\wamp\www\node\server.js:8:13 at Layer.handle [as handle_request] (c:\wamp\www\node\node_modules\express\lib\ router\layer.js:95:5) 在下一个 (c:\wamp\www\node\node_modules\express\lib\router\route.js:137:13) 在 Route.dispatch (c:\wamp\www\ node\node_modules\express\lib\router\route.js:112:3) 在 Layer.handle [as handle_request] (c:\wamp\www\node\node_modules\express\lib\router\layer.js:95: 5) 在 c:\wamp\www\node\node_modules\express\lib\router\index.js:281:22 在 Function.process_params (c:\wamp\www\node\node_modules\express\lib\router\index .js:335:12) 在下一个 (c:\wamp\www\node\node_modules\express\lib\router\index.js:275:10) 在 expressInit (c:\wamp\www\node\node_modules\express \lib\middleware\init.js:40:5) 在 Layer.handle [as handle_request] (c:\wamp\www\node\node_modules\express\lib\router\layer.js:95:5)

原文由 saadi123 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 491
2 个回答

根据 API 参考,第一个参数始终包含请求 req ,然后是响应 res

因此,将第一个参数 res 更改为 req

 app.get('/', function(req, res) {
    res.send("Rendering file")
}

它应该修复它。

原文由 Ovidiu Dolha 发布,翻译遵循 CC BY-SA 4.0 许可协议

你有 resreq 参数错误。

 app.get('/', function(res, req)

应该

app.get('/', function(req, res)

资料来源: API 文档

原文由 dan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题