1. ホーム
  2. javascript

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

2022-02-08 12:59:54

質問

node.jsを使用してHTMLファイルを送信することができません。

まず最初に、このようなエラーが発生しました。

Application has thrown an uncaught exception and is terminated:
TypeError: res.sendFile is not a function
    at Server.<anonymous> (C:\Program Files\iisnode\www\test\app.js:4:6)
    at emitTwo (events.js:88:13)
    at Server.emit (events.js:173:7)
    at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:529:12)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:89:23)

そして、私のapp.jsのコードは

var http = require('http');

http.createServer(function (req, res) {
    res.sendFile('test.html', { root: __dirname });
}).listen(process.env.PORT);  

もし私が何か簡単なことを見逃しているなら、これは私が作った最初のnode.jsプログラムなので、私は申し訳ありません。

解決方法は?

sendFileはExpressモジュールのみです。

次のコードを試してみてください。

 var express = require('express');
 var app = express();
 app.get('/', function(req, res) {
     res.sendFile('path-to-file');
 });
 app.listen(PORT);