首页 > 解决方案 > Express 下载文件而不是将其用作 html

问题描述

我正在尝试使用 express 制作自己的服务器。我正在尝试提供 HTML 文件,但是当我在其上运行 res.send() 时,它会下载该文件。这是我的代码片段:

res.send(fs.readSync(path.join(__dirname, "pages/login.html")))

当我转到该页面时,它不会渲染文件,而是下载它。如果这改变了任何内容,则此页面将从“/”页面重定向到。

更新:清除缓存解决了这个问题。

标签: javascriptnode.jsexpresswebserver

解决方案


您大概忘记将Content-Type标头设置为,text/html因此浏览器不知道它正在接收它应该呈现的 HTML 文档。

res.set('Content-Type', 'text/html')

…根据文档

也就是说,如果您正在提供静态文件,那么您可能应该使用static模块而不是滚动您自己的处理程序。


推荐阅读