Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的路线已定义,但express返回404错误_Javascript_Node.js_Express - Fatal编程技术网

Javascript 我的路线已定义,但express返回404错误

Javascript 我的路线已定义,但express返回404错误,javascript,node.js,express,Javascript,Node.js,Express,我已经检查了StackOverflow上的每个副本,但没有一个解决了问题 这是我的app.js,是express library在运行应用程序时查找的第一个文件,位于用于创建服务器的my server.js文件之后 您可以查看代码中的注释,以便更好地理解问题 //实施cors app.usecors; app.usebodyParser.json; 应用程序。使用“/”,viewRouter;//这条路线有效 应用程序。使用'/signup',userRouter;//这条路不行 应用程序。使用

我已经检查了StackOverflow上的每个副本,但没有一个解决了问题

这是我的app.js,是express library在运行应用程序时查找的第一个文件,位于用于创建服务器的my server.js文件之后

您可以查看代码中的注释,以便更好地理解问题

//实施cors app.usecors; app.usebodyParser.json; 应用程序。使用“/”,viewRouter;//这条路线有效 应用程序。使用'/signup',userRouter;//这条路不行 应用程序。使用'/test',userRouter;//这条路不行 module.exports=app; 这是我的userRouter.js

const express=需要“express”; const router=express.router; const authController=需要“../controllers/authController”; //有关这两个函数的代码段,请参见下文 router.route'/signup'.getauthController.test;//当我访问这条路线时,它返回404; router.post'/signup',authController.signup;//当我访问这条路线时,它返回404; get'/test',req,res=>{//当我访问这个路由时,它返回404; res.发送“你好,世界!”; }; console.log'Express可以运行我';//我可以在我的终端上获取此日志,这意味着文件正在运行,但我无法获取到上面的路由! module.exports=路由器; 这是authController.js,其中包含我的两个函数的代码

const User=require'../models/userModel'; exports.signup=异步请求,res,next=>{ 试一试{ //从req.body获取数据并将其添加到数据库中; const user=wait user.createreq.body; res.status201.json{ 状态:“成功”, 数据:{ 使用者 }, }; }犯错误{ res.status400.json{ 状态:“失败”, 信息:呃, }; } }; exports.test=req,res,next=>{ console.log“在测试函数内部”;//不会记录到终端! const test='这是测试数据'; res.status201.json{ 状态:“成功”, 数据:{ 测验 }, }; }; 有人能帮忙吗

先谢谢你

我正在访问像这样的路线本地主机:5000/注册

但是你的路由器有路由器。路由'/signup',路由器安装在app上。使用'/signup',userRouter;这使得路径/signup/signup不是/signup


挂载到/注册的路由器中没有/,因此找不到URL。

如果您访问这些路由,它们不会给您404。这意味着你可能走错了路线。但是您没有提供足够的信息,例如,您访问的URL是什么,以重现问题。您不是express专家,但您已经设置了用户路由器,以便在应用程序中使用/注册,因此我认为您不需要在帖子中重复注册路径,也不需要在userRouter文件中重复其他方法:router.post'/',authController.signup;等等,但100%确定that@Quentin我正在访问localhost:5000/signup和localhost:5000/test这样的路由,返回结果无法获取/test@NickParsons我知道,但我需要把文件分开,这就是我为什么这么做的原因that@NickParsons是的,你说得对!我不知道。。。非常感谢,它起作用了