繁体   English   中英

如何从高于我的服务器文件夹级别的目录在 Express 中提供 HTML 文件?

[英]How do I serve an HTML file in Express from a directory which is a level above my server folder?

我正在尝试通过更深一层的 Express 服务器提供位于我的主目录中的 HTML 文件:在我的服务器文件夹中。 这是服务器代码的设置方式:

 const express = require('express'); const app = express(); app.use(express.json()); app.get('/', (req, res) => { res.sendFile(__dirname + '/index.html'); }) const port = 5000; app.listen(port, () => console.log(`Server is listening on port ${port}.`))

我收到的错误是:

Error: ENOENT: no such file or directory, stat '/mnt/c/Project-Directory/server/index.html'

从这个错误中可以清楚地看出为什么我无法访问我的 HTML 文件; 我的服务器存在于 /server 文件夹中,我的 index.html 文件存在于 Project-Directory 文件夹中。 但是,我不确定如何访问当前目录中的 HTML 文件。

您可以使用path.join并指定要返回一个目录( ../ ):

const path = require('path');


app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, '../index.html'));
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM