所以我没有在主index.js路由文件中使用我的auth路由(注册,登录等),而是希望将它们分开:
routes
-- index.js
-- auth
-- index.js
-- login.js
-- register.js
但我似乎无法让它发挥作用。我以为会是这样的:
// index.js
const express = require('express'),
router = express.Router();
router.use('/', function(req, res) {
// if not logged in, redirect login else redirect to dashboard
res.send("hello world");
});
require('./auth/index.js');
module.exports = router;
则...
// auth/index.js
const express = require('express'),
router = express.Router();
router.use('/', require('./login.js'));
router.use('/', require('./register.js'));
module.exports = router;
则...
// auth/login.js
const express = require('express'),
router = express.Router();
router.use('/login', function(req, res) {
console.log("Got here!");
res.send("This is the login screen.")
});
module.exports = router;
但是如果我在我的服务器上登录/登录,我只看到你好世界:(
很多其他帖子但无法看到他们如何组织同一级别的代码,因为我希望结束路由
/
/login/
/register/
不
/
/auth/login/
/auth/register/
希望您了解我的来源。
答案 0 :(得分:0)
课程学习:
需要使用app.route(在本例中为router.route)来实际创建单个结束路由。
app.use可用于将一个函数或一组函数(在本例中为一组路径)分配给路径。
// index.js
const express = require('express'),
router = express.Router();
router.route("/")
.get(function(req, res) {
// if not logged in, redirect login else redirect to dashboard
res.send("Hello World");
})
router.use('/', require('./auth/index.js'));
module.exports = router;
和...
// auth/login.js
const express = require('express'),
router = express.Router();
router.route("/login")
.get(function(req, res) {
res.send("This is the login screen.")
});
module.exports = router;