NodeJS 如何获取不同快速路线的路径

n3h0vuf2  于 2022-11-22  发布在  Node.js
关注(0)|答案(1)|浏览(125)

假设我的express应用程序中有以下路线:

router.get('/register', registrationController.register);

router.get('/confirm', registrationController.confirm);

在某些服务中,我想检索确认路由的绝对URL。
而不是做这样的事情:

const url = req.protocol + '://' + req.get('host') + '/confirm'

是否有一个选项以某种方式检索路线,例如:

const express = require('express');
const router = express.Router();

const confirmRoute = router.confirm;

// Do something with the route name instead of typing it statically as a string

在不安装其他依赖项的情况下,我可以做些什么不同的事情?

siotufzp

siotufzp1#

定义可在多个位置使用的常数。

const confirmRoute = "/confirm";

然后,您可以在多个地方使用它。如果这些地方在不同的文件中,那么您可以从声明它的文件中导出它,然后在另一个文件中导入它。或者,您可以创建一个共享常量文件,并从那里导出它,然后要使用它的其他两个文件都可以从该共享文件中导入它。
或者,您甚至不必公开路由本身,您可以将其私有化到定义路由的文件中,然后导出一个函数来检索路由路径或只为您执行重定向。

相关问题