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

时间:2017-08-13 12:42:28

标签: javascript node.js express

我是Node.js的新手并表达框架。当我试图从我的主页路线转到signuplogin路线时,我收到错误。我也在stackoveflow中尝试了所有类似的问题,但没有一个对我有用,所以我想发布自己的。

这是我的 app.js

-v

这是我在路线目录

中的 homepage.js
var homepage = require('./routes/homepage');
var signupLogin = require('./routes/signuplogin');

var app = express();

app.use("/", homepage);
app.use("/signup-login", signupLogin);

这是我在路线目录

中的 signup-login.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;

我的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; 路线运行良好,但当我尝试访问"/"路线时,它会说404。

我还将路线更改为"/signup-login",因为我认为除了路线中的"/signuplogin"字符外,它可能没有。但那并没有奏效。任何解决方案/建议?

1 个答案:

答案 0 :(得分:2)

您在 signup-login.js 文件中犯了一个错误。用这个 -

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

根据您的代码,注册页面的实际网址变为" / signup-login / signup-login"

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