使用多个路由器在自己的文件中定义快速

我是新的Node.js和expression框架。 我正在尝试从我的主页路线转到signuplogin路线时出现错误。 我也尝试了stackoveflow中的所有类似的问题,但没有一个为我工作,所以我想发布我自己的。

这是我的app.js

var homepage = require('./routes/homepage'); var signupLogin = require('./routes/signuplogin'); var app = express(); app.use("/", homepage); app.use("/signup-login", signupLogin); 

这是我的homepage.js 路由目录

 var express = require('express'); var homepageRouter = express.Router(); /* GET Homepage. */ homepageRouter.get("/", function(req, res, next) { res.render('../views/homepage/homepage.hbs'); }); module.exports = homepageRouter; 

这是我在路由目录中的 signup-login.js

 var express = require('express'); var signupLoginRouter = express.Router(); /* GET Signup Login Page. */ signupLoginRouter.get("/signup-login", function(req, res, next) { res.send('respond with a resource'); }); module.exports = signupLoginRouter; 

那么我的"/"路线完美的工作,但是当我尝试访问"/signup-login"路线时,它说404。

我也改变了路由到"/signuplogin"因为我想也许它不会除了路由中的"-"字符。 但是,这并没有工作。 任何解决scheme/build议?

您在signup-login.js文件中犯了一个错误。 用这个修改代码 –

 /* GET Signup Login Page. */ signupLoginRouter.get("/", function(req, res, next) { res.send('respond with a resource'); }); 

根据你的代码,注册页面的实际URL变成“/ signup-login / signup-login”

您不需要在页面中再次添加singup-login urlpath。 这已经在您的主路由器中引用。