[英]Express.js:how to use different middlewares based on NODE_ENV?
I have two middlewares, router1 for prod and router2 for test and dev.我有两个中间件,用于生产的 router1 和用于测试和开发的 router2。 How to use different middlewares based on NODE_ENV?如何基于 NODE_ENV 使用不同的中间件?
How about the following codes?下面的代码怎么样?
if( process.env.NODE_ENV === 'prod' ) {
app.use('/', router1);
} else {
app.use('/', router2);
}
Any better solutions?有什么更好的解决方案吗? Thanks谢谢
I would do something like this to have a legible set of available environments (you may need staging and test at one point), and that way you wouldn't have to modify code any time you add a new env to the object.我会做这样的事情来拥有一组清晰的可用环境(您可能需要在某一时刻进行暂存和测试),这样您就不必在向对象添加新环境时修改代码。
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.