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

我有两个中间件,路由器1 prod和路由器2testing和开发。 如何使用基于NODE_ENV的不同中间件?

下面的代码如何?

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

有更好的解决scheme 谢谢

我会做这样的事情有一个清晰的可用环境集(你可能需要在一个阶段进行登台和testing),这样你就不必修改代码,只要你添加一个新的env到对象。

 var routers = { prod: /* declare prod router */, dev: /* declare dev router */, }; app.use('/', routers[process.env.NODE_ENV] || routers.dev);