首页 > 解决方案 > Nodej.s 路由与 express.js 和 TypeScript

问题描述

我对 node.js 路由有疑问。哪个路由版本是正确的?第一个版本是 express.js 中的标准版本:

router.get('/packages/:name', (req, res) => {
//my example code
);

使用 TypeScript 的第二个版本。此版本来自 typeorm init 命令。

export const Routes = [{
    method: "post",
    route: "/user",
    controller: CustomerController,
    action: "createUser"
}];

哪个版本更好,为什么?关于第二个版本,我如何添加自定义中间件?第一版和第二版有什么区别?

标签: node.jstypescriptexpresstypeorm

解决方案


  • 两种方法都是一样的。当您有很多针对单个点的路线时root/apiv1/[here all the routes],如果您有许多动态路线,那么第二个更可取,因此最好使用第一种方法。
  • 说到语言,你可以在平面 JS 和 JS 中实现两种路由。但是由于类型转换和验证,首选语言是打字稿,路由方式取决于具体情况。
  • 谈到中间件,对于第一种方法,我们将在控制器函数之前传递中间件,对于第二种方法,我们基本上是为我们的路由创建结构,我们需要将这些路由传递到某个route()端点,我们将定义就像我们在第一种方法中所做的一样。

推荐阅读