gpt4 book ai didi

javascript - 将值传递给 Express 路由的 Node js 模块

转载 作者:数据小太阳 更新时间:2023-10-29 06:03:11 31 4
gpt4 key购买 nike

我想将 Express 的环境传递给 Express 的路由模块。我想确定 Express 是在开发模式还是生产模式下运行。为此,我猜我需要以某种方式将 app.settings.env 传递给路由模块。

我的路由模块为每条路由导出一个函数。所以:

app.get('/search', web.search);

根据之前的 stackoverflow 帖子,我试过这个:

var web = require('./web')({'mode': app.settings.env});

但是 Node 抛出类型错误(对象不是函数)。

我是 Node 和 Express 的新手。我可以将值传递给快速路由吗?如果可以,如何传递?

最佳答案

如果你的 web.js 看起来像这样:

module.exports.search = function(req, res, next) {
// ...
};

module.exports.somethingOther = function(req, res, next) {
// ...
};

然后调用

var web = require('./web')({'mode': app.settings.env});

您尝试将对象 (module.exports) 用作函数。此处输入错误。

您需要将 module.exports 转换为函数以将参数传递给它。像这样:

module.exports = function (env) {
return {
// env available here
search: function(req, res, next) {
// ...
},

somethingOther: function(req, res, next) {
// ...
};
};
};

关于javascript - 将值传递给 Express 路由的 Node js 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9708436/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com