何らかの理由でnode.jsに単純なアプリケーションを作成していますが、「TypeError:パスは絶対値でなければならない」または「res.sendFileにrootを指定する」私のHTMLページを提供しようとしています。このエラーは、このファイルが見つかる可能性のあるフォルダを指定する明示的なミドルウェアを使用しているため発生しません。だから私はなぜこの問題を抱えているのですか?Node.jsアプリケーションがルートパスなしの静的なWebページを提供していない
マイアプリの構造は、私が「res.sendFileを行うことができますが、私のhtmlページは、私はこれを回避するために知っているこの
var express = require("express");
var app = express();
app.use(express.static("public"));
app.get('/', function(req, res){
res.sendFile("login.html");
});
app.listen(3000);
ようapp.jsで提供されている。この
MyApp
public
login.html
app.js
のように見えます(__dirname + '/public/login.html'); "代わりにミドルウェアを使用しているので、私はする必要はありません。何か案は?
これはやや混乱します。 'sendFile()'にファイル名を指定すると、Nodeは "public"フォルダを参照する必要がありますか?そうではありません。直接アクセスすると静的なファイルだけが読み込まれますので、名前は "静的"です。 – adeneo
お使いのOSは? –
@adeneoはい、login.htmlが静的なのでパブリックフォルダを見ることを期待しています – OneMoreQuestion