我相信express 4.0这是创建路由器级中间件的方法,这是创建express.Router
多个实例的好方法吗?
var userRouter = express.Router();
var paymentRouter = express.Router();
userRouter.get("/login", function (req, res, next) {
res.send("okay this is route")
});
paymentRouter.get("/pay", function (req, res, next) {
res.send("okay this is route")
});
app.use("/user" ,userRouter);
app.use("/payment" ,paymentRouter);
答案 0 :(得分:1)
可以使用单独的路由器来模块化您的应用程序。
在您的情况下,您似乎拥有(至少)API或网络应用程序的两个不同部分,用户部分和付款部分:
app.use("/user", userRouter);
app.use("/payment", paymentRouter);
为此使用两个独立的路由器是完全合理的。
通常,通过将每个路由器放在单独的模块中进一步模块化,这些模块包含该路由器的细节:
app.use("/user", require('./routers/user'));
app.use("/payment", require('./routers/payment'));
所以你得到一个不错的separation of concern。
Express文档还涉及此主题here。
答案 1 :(得分:0)
真的取决于你想要达到的目标。
通常的方法是只有一个用于定义路线的路由器。
请更好地说明您希望拥有更多路由器的原因。