如何优化Express.JS中的路由?

Dai*_*ail 4 node.js express

我有很多路线,如:

app.all('/:controller', controller.init());
app.all('/:controller/:action', controller.init());
app.all('/:controller/:action/:par1', controller.init());
app.all('/:controller/:action/:par1/:par2', controller.init());
app.all('/:controller/:action/:par1/:par2/:par3', controller.init());
Run Code Online (Sandbox Code Playgroud)

我可以一次优化这些路线吗?

Ray*_*nos 6

不,你不能.这不是你应该如何做路由.路线应该很好地定义为有明智的uris.

例如,我亲自编写了以下路线

app.get("/ blog",controller.index);

app.get("/blog/new", controller.renderCreate);
app.get("/blog/:postId/edit", controller.renderEdit);
app.get("/blog/:postId/:title?", controller.view);
app.post("/blog", controller.createPost);
app.put("/blog/:postId", controller.updatePost);
app.del("/blog/:postId", controller.deletePost);
Run Code Online (Sandbox Code Playgroud)

这意味着您可以完全控制所需的URI.

强烈建议您手动定义您想要的uris并将它们连接到您想要的任何控制器对象.

这意味着你的uris保持漂亮,语义和完全控制.