新手请教各位一个 express 4.x的 路由的问题
每次都把 路由 app.use(’/’, routes); app.use(’/reg’, reg); app.use(’/api’, api); app.use(’/login’,login); app.use(’/upload’,upload); app.use(’/createImgClass’,create); app.use(’/User’,User); app.use(’/search’,search); 像这样写到app.js 里面 好别扭啊 有没有什么写法 好点的
还有没有 能直接 拦截 是否登陆的 每条路由上面都写个 if 判断 好恶心...
7 回复
路由统一放到 routers 里面
module.exports = function(app){
// ...
}
登陆认证,用 中间件方式来实现
app.use('/search’,auth.requiresLogin,search);
推荐你使用passport 这个库
route是个train,所以可以
app.use('/User',checkAuth, User);
function checkAuth(req, res, next) {
if (authed()) {
next();
} else {
res.redirect(loginPage);
}
}