我正在写一个简单的应用程序在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