我有一个带有以下代码的简单Express服务器
var express = require('express');
var app = express();
var fs = require('fs');
var bodyParser = require('body-parser')
var urlencodedParser = bodyParser.urlencoded({ extended: false })
app.get('/',(req,res)=>{
res.sendFile('index.html', { root: __dirname }))
})
app.listen(9432);
管理建立连接,但是当我尝试发送文件时,出现错误提示 “ TypeError:路径必须是绝对路径或将根目录指定为res.sendFile” 我尽了我所能想到的一切。
服务器在http://www.nextweb.rs/上是十倍体
(在localhost上测试时代码正常运行)
答案 0 :(得分:2)
您使用的__dirname
错误。
这是一个模块作用域的全局变量,因此,如果将其放在字符串中(就像您正在做的那样),那么它将根本无法解析。该字符串将仅等于__dirname
,而不是/home/ultimate/ultimate
(如您所愿)。这应该是这样:
app.get("/", (req, res) => {
res.sendFile("index.html", { root: __dirname });
});