몇 가지 이유로 node.js에 간단한 응용 프로그램을 작성합니다. "TypeError : 경로가 절대적이어야하며 루트를 res.sendFile으로 지정해야합니다." 내 HTML 페이지를 제공하려고합니다. 이 오류는이 파일을 찾을 수있는 폴더를 지정하는 명시 적 미들웨어를 사용했기 때문에 발생하지 않아야합니다. 그렇다면 왜이 문제가 발생합니까?Node.js 응용 프로그램이 루트 경로없이 정적 웹 페이지를 제공하지 않음
내 응용 프로그램 구조는 내가 "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