Я пишу простое приложение в node.js, по какой-то причине я получаю сообщение об ошибке «TypeError: путь должен быть абсолютным или указать корень в res.sendFile« когда пытаясь обслуживать мою страницу 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'); " вместо этого, но мне не нужно, поскольку я использую промежуточное ПО. Есть идеи?
Это несколько сбивает с толку, вы ожидаете, что Node должен смотреть в «общедоступной» папке, когда вы даете 'sendFile()' имя файла? Это не так, но загружаются только статические файлы при обращении непосредственно, поэтому имя «статическое». – adeneo
Какая у вас ОС? –
@adeneo да, я ожидаю, что он будет выглядеть в общей папке, потому что login.html является статическим – OneMoreQuestion