我想使用res.sendfile,但路径不正确,出现错误

问题描述 投票:0回答:1

我有一个服务器Express.js和3个html,js前端页面,我想访问我在localhost:3000的主页,然后转到/ register渲染我的register.html页面,但是我不能这样做,这里的路径是我的文件夹的屏幕截图enter image description here这是我的代码

    res.sendFile(__dirname + "./FRONT/REGISTER/register.html")

这给我一个错误:{“错误”:{“消息”:“ ENOENT:没有这样的文件或目录,统计信息'/Users/hazem/Desktop/Web-Development/full-stack-blogs/api/routes../FRONT/REGISTER/register。 html'“}}

也给我一个错误,我的registerUsers.js中未定义应用程序:

这是我的路线-> registerUsers.js


    const express = require("express");
const router = express.Router();

app.use(express.json());
// Handle incoming post requests to /register
router.post('/register',(req,res,next)=>{
    const user= {
        userName:req.userName,
        email:req.email,
        password:req.password,
        sex:req.sex
    };
    res.status(201).json({
        message:"Handling post requests to /register",
        user:user
    })
})
module.exports = router;
javascript html express frontend backend
1个回答
0
投票

app未定义,因为您没有像const app = require('path of your app file那样导入它;还请确保您在app.js文件中执行了module.exports = app;或其他导出方式。

您使用哪个文件res.sendFile(__dirname + "./FRONT/REGISTER/register.html")?也请使用来自nodeJs的路径模块来创建路径(https://nodejs.org/api/path.html)。

如果您从registerUsers.js使用此语句,则路径应为:path.join(__dirname, "../FRONT/REGISTER/register.html);注意../

您将导入路径,例如:const path = require('path');,并与res.sendFile一起使用,如下所示:

res.sendFile(path.join(__dirname, "FRONT/REGISTER/register.html"));

我希望这会有所帮助,祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.