使用Expressjs中间件(前端和后端)进行功能切换



我当前的项目使用Node作为前端和后端,并使用ExpressJS作为中间件。

我有一个需求,我需要一个功能切换实现来在我的应用程序中引入一些新功能。我正在使用url参数,例如&featureToggle=true以确定执行代码是新代码还是现有代码。

现在,我在前端和后端都有部分需要根据功能切换进行更改。在后端,我可以单独获取查询对象并提取url参数,类似地,在前端模块中也是如此。

有没有一种方法可以使用Express截取查询参数,根据功能切换将变量值设置为true或false,并且可以在前端和后端模块中使用?

使用express,您可以使用req.query来收集请求中发送的查询字符串。你可以这样通过:

localhost:9000/path?&featureToggle=true

?很重要,它告诉express您正在创建一个查询。

如果你把它放进一个变量:

const query = req.query

您将得到以下输出:

{ featureToggle: 'true' }

正如你所看到的,它正在返回一个对象。你可以这样检查:

if(req.query.featureToggle === 'true'){
runSomeCode();
};

或者在您的情况下,如果您想运行某种中间件:

router.get('/', (req, res, next) => {
if(req.query.featureToggle === 'true'){
return next(toggle)
}
};

相关内容

  • 没有找到相关文章

最新更新