向应用请求变量中添加模块

Adding modules to app request variable

本文关键字:添加 模块 变量 应用 请求      更新时间:2023-09-26

我一直在遵循NodeJs教程,作者在app.use()回调中向req变量添加模块,如下所示:

app.use(function(req, res, next) {
   req.date = date;
   next();
});

在这种情况下,date是我创建的'模块',然后需要:

var date = require('./date.js');

因此,例如,在index.js中,我可以像这样访问date模块中的函数:

var date = req.date;
var currentDate = date.getDate() //getDate is a function in my 'date' module

现在这工作得很好,但由于我是Node的新手,我不知道这是否是在我的路由中访问模块的推荐或最佳方式。我担心的是,这似乎有点混乱,手动添加模块到req变量。

我的问题是;在app.js以外的其他JS文件中使用NodeJs模块的推荐方法是什么?

原来我忘记了'外部' JS文件中的require函数。例如,在index.js中(取自我的问题):

var date = require('date');
var currentDate = date.getDate();

date.js文件放在我的node_modules目录中,NodeJs将在其中查找它。