Node.js / Express:是否可以从同一模块为2条不同的路由创建2个单独的实例?

时间:2019-03-19 08:38:15

标签: node.js express import module

我的epress应用程序中有2条不同的路线:

let readIndex= require('../services/getIndex');
let writeIndex= require('../services/getIndex');

indexRouter.route("/readindex").get(readIndex.getIndex)
indexRouter.route("/writeindex").get(writeIndex.getIndex)

问题是,我已经在同一模块中统一了这两种路由的逻辑,所以我必须检查请求来自哪个路由的req.originalUrl参数,并且将代码分成了一点,具体取决于路线来自哪个请求。

但是问题是,似乎我从同一模块导入的两个实例(readIndex和writeIndex)的行为都像一个实例一样。例如,如果我要在模块内部进行缓存,我期望两个实例都可以从模块创建自己的缓存实例(函数),但是显然,它们都为缓存共享相同的变量,依此类推。 因此,如果我调用一条路由,然后再调用下一条路由,则高速缓存的工作就像已经执行了第二条调用的路由一样(在我调用第一条路由之后)。

我在做什么错?无法从同一模块调用/创建两个不同的实例并分别使用它们吗?

0 个答案:

没有答案