如何使用NodeJS获取一个文件夹中的文件在另一个文件夹中的绝对文件路径?

3lxsmp7m  于 2023-04-20  发布在  Node.js
关注(0)|答案(1)|浏览(204)

我想使用sendFile选项查看controllerClient.js文件中客户端内的index.html文件。使用以下代码在我的本地主机上运行良好,但当我尝试将其托管在vercel上时,它显示以下错误

Error: ENOENT: no such file or directory, stat '/var/task/client/index.html'

controllerClient.js代码

const viewHome = async (req, res) => {
     res.sendFile("/client/index.html", { root: "." });
};

我怎样才能使代码更好,使其适用于多平台?

z4bn682m

z4bn682m1#

你可以使用path模块来连接当前路径和节点给出的__dirname变量。__dirname返回当前目录。

const path = require('path');
const express = require('express');
const app = express();

app.use(express.static(path.join(__dirname, 'public')));

这里的公共目录是发送到浏览器的前端文件。在您的情况下,它将是client目录。
使用时

res.send('index');

上面的只能与视图名称一起使用,而不能使用完整路径。

相关问题