You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express无法路由跳转 报错Cannot GET /route/studentlogin问题咨询

问题原因与解决方案

该报错由两处代码语法书写错误导致,按如下步骤修复即可:

  • 错误1:server.js中错误使用app.arguments注册中间件
    Express 注册中间件的正确方法是app.use(),arguments是JS函数内置的参数对象,不属于Express实例的方法,会导致你后续的body-parser、session、路由规则全部注册失效。
    将server.js中所有的app.arguments替换为app.use即可,修复后的完整server.js代码如下:
const express=require('express');
const path=require('path');
const bodyparser=require('body-parser');
const session=require('express-session');
const{v4:uuidv4}=require('uuid');

const router=require('./router');

const app=express();

const port=process.env.PORT||3000;

app.use(bodyparser.json())
app.use(bodyparser.urlencoded({extended:true}))

app.set('view engine','ejs');

app.use(session({
    secret:uuidv4(),
    resave: false,
    saveUninitialized: true
}));


app.use('/route',router)

//home route
app.get('/',(req,res)=>{
    res.render('home');
})

app.listen(port,()=>{console.log("Listening to the server on http://localhost:3000")});
  • 错误2:router.js中导出路由语法错误
    Node.js CommonJS规范的导出语法是小写开头的module.exports,你写的大写开头的Module.exports属于自定义变量,没有赋值给标准导出对象,会导致server.js引入的router是undefined,路由规则完全不生效。
    将router.js最后一行的Module.exports改为module.exports即可,修复后的完整router.js代码如下:
var express=require('express');
var router=express.Router();


//student login page
router.get("/studentlogin",(req,res)=>{
    res.end("Login Successfull");
})

module.exports=router;

两处错误修复完成后重启Express服务,点击学生登录按钮即可正常返回Login Successfull。


内容的提问来源于stack exchange,提问作者TOP 10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:39:07