快速路由器级中间件

时间:2016-06-18 08:43:00

标签: javascript express

我相信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);

2 个答案:

答案 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)

真的取决于你想要达到的目标。

通常的方法是只有一个用于定义路线的路由器。

请更好地说明您希望拥有更多路由器的原因。