sendFile函数在express js中不起作用



当我尝试运行这段代码时,我没有得到任何错误,但当我打开localhost时,我得到一个空白屏幕。

const path = require("path")
const express = require("express")
app = express()
app.get("/", (req, res) => {
let fullpath = path.join(__dirname, './index.html')
console.log(fullpath)
res.sendFile(fullpath)
console.log("File sent")
res.end()
})
app.listen(5500, () => {
console.log("Server started")
})

我使用的是linux, express版本是4.18.2,node版本是18.1.0

我在一台windows机器上用相同的express版本执行了相同的代码,它没有任何错误。也许这与linux的兼容性有关,或者是windows和linux的路径不同。

我尝试过的事情:

const path = require("path")
const express = require("express")
app = express()
app.get("/", (req, res) => {
let fullpath = path.join(__dirname, './index.html')
res.sendFile(fullpath, { root: '/' })
console.log("File sent")
res.end()
})
app.listen(5500, () => {
console.log("Server started")
})
const path = require("path")
const express = require("express")
app = express()
app.get("/", (req, res) => {
var options = {
root: path.join(__dirname)
}
let fileName = 'index.html'
res.sendFile(fileName, options)
console.log("File sent")
res.end()
})
app.listen(5500, () => {
console.log("Server started")
})

简单回答:

  1. 删除res.end ();

  2. 试试这个代码

const express = require("express")
app = express()
app.get("/", (req, res) => {
res.sendFile(__dirname + "/index.html")
console.log("File sent")  
})
app.listen(5500, () => {
console.log("Server started")
})

相关内容

  • 没有找到相关文章

最新更新