我正在寫一個簡單的應用程序在node.js,出於某種原因我得到錯誤「TypeError:路徑必須是絕對的或指定根目錄res.sendFile」when試圖提供我的HTML頁面。這個錯誤不應該發生,因爲我使用了一個明確的中間件來指定可以找到這個文件的文件夾。那麼,爲什麼我會遇到這個問題?Node.js應用程序沒有提供靜態網頁沒有根路徑
我的應用程序結構看起來像這樣
MyApp
public
login.html
app.js
我的HTML頁面被供應app.js這樣
var express = require("express");
var app = express();
app.use(express.static("public"));
app.get('/', function(req, res){
res.sendFile("login.html");
});
app.listen(3000);
我知道要解決這個問題,我可以做「res.sendFile (__dirname +'/public/login.html');「相反,但我不應該因爲我正在使用中間件。有任何想法嗎?
這有點令人困惑,你是否期望當你給sendFile()一個文件名時Node應該在「public」文件夾中查找?它不會,只有直接訪問靜態文件時纔會這樣加載,因此名稱爲「static」。 – adeneo
什麼是您的操作系統? –
@adeneo是的,我期待它在公用文件夾中查找,因爲login.html是靜態的 – OneMoreQuestion