繁体   English   中英

Express.js:如何使用基于 NODE_ENV 的不同中间件?

[英]Express.js:how to use different middlewares based on NODE_ENV?

我有两个中间件,用于生产的 router1 和用于测试和开发的 router2。 如何基于 NODE_ENV 使用不同的中间件?

下面的代码怎么样?

if( process.env.NODE_ENV === 'prod' ) {
    app.use('/', router1);
} else {
    app.use('/', router2);
}

有什么更好的解决方案吗? 谢谢

我会做这样的事情来拥有一组清晰的可用环境(您可能需要在某一时刻进行暂存和测试),这样您就不必在向对象添加新环境时修改代码。

var routers = {
  prod: /* declare prod router */,
  dev: /* declare dev router */,
};

app.use('/', routers[process.env.NODE_ENV] || routers.dev);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM