javascript - Express.js :how to use different middlewares based on NODE_ENV?

标签 javascript node.js express

我有两个中间件,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);

关于javascript - Express.js :how to use different middlewares based on NODE_ENV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39838564/

相关文章:

node.js - 快速身份验证中间件在 PUT 请求后无法正确重定向

javascript - 如何使用 Mongoose/Node.js 删除数组中的项目

javascript - iOS 上的 jquery css

javascript - RGBA 颜色变化褪色

javascript - 正则表达式: Match text node only in a tag

javascript - 来自 CSV 的 Google 折线图

angularjs - 在 AWS EC2 服务器上托管 Angular 应用程序、ExpressJS 端点

javascript - 使用套接字和 Node 发送图像/视频

mysql - 如何在nodejs中的sequelize模型mysql中列注释

node.js - 我可以使用 http2 将响应流式传输回浏览器吗?