1. ホーム
  2. javascript

[解決済み】エラー。ENOENT: no such file or directory, stat '/public/main.html' at Error (ネイティブ)

2022-02-10 12:03:15

質問

これは私の server.js ファイルを作成します。

var express = require('express'),
    app = express();  
app 
    .use(express.static('./public'))
    .get('*',function (req,res) {
        res.sendfile('/public/main.html');
        })
 .listen(3000);

これは私の main.html :

<!DOCTYPE html>
<html>
    <head>
        <titel>Contacts</titel>
    <base href'/'> 
    </head>
    <body>
        <div class="container">
         <div class="page-header">
             <h1>Contatcs</h1>
         </div>
        </div> 
    </body>
</html>

そして、フォルダ構成。

解決方法は?

サーバーとインデックス・ファイルは両方とも"public"ディレクトリの内側にあるので、単純に:

res.sendfile('./main.html');

コメントでの質問にお答えしますと.Express 4.x では sendfile メソッドに置き換わりました。 sendFile メソッド(すべて小文字の -> camelCase)です。おそらく、初期のバージョンでの見落としで、後者では修正されたのでしょう。