我有一个服务器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;
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"));
我希望这会有所帮助,祝你好运!