1. ホーム
  2. javascript

[解決済み] Node.js の res.send は関数ではありません。

2022-02-02 23:03:55

質問

以下のコードを試していますが、"res.send is not a function"というエラーが表示されます。助けてください。

以下はそのコードです。

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 は関数ではありません。 at c:wampwww.node.server.js:8:13 at Layer.handle [as handle_request] (c:\wamp_www_node_modules_express_lib↵router↵layer.js:95:5) at next (c:⽯⽯⽯Node_modules_express⽯Router⽯Route.js:137:13) at Route.dispatch (c:\wamp.wwww.node_modules.Express︓︓︓︓Route.js:112:3) at Layer.handle [as handle_request] (c:\wamp_www_node_modules⑭:95:5) at c:⽯⽯⽯ノード_modules⽯秘書.js:⽯秘書(281)22項 at Function.process_params (c:⽯⽯Node_modules_express⽯Librouter_index.js:335:12) at next (c:\wampwww_modules_express_Library_router_index.js:275:10) at expressInit (c:\wamp_www_node_modules﹑expresslib﹑init.js:40:5) at Layer.handle [as handle_request] (c:\wamp_www_node_modules︓expresslib︓router︓layer.js:95:5)

どのように解決するのですか?

によると APIリファレンス 最初のパラメータには常にリクエスト req 次にレスポンス res .

そこで、最初のパラメーターを変更します。 resreq :

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

これで直るはずです。