根据机器类型或IDE标志配置Node.js应用程序

时间:2016-05-14 20:12:49

标签: javascript node.js azure express webstorm

我希望能够在服务器上运行或在localhost上运行时在服务器上执行不同的操作,例如禁用日志或连接到不同的数据存储。

是否有任何方法可以根据某些IDE定义(在本例中为WebStorm)以不同方式配置Node.js应用程序,或者识别运行Node.js express服务器的计算机 - 更具体地说,检测服务器是否正在运行在Azure或localhost上。

1 个答案:

答案 0 :(得分:2)

在Node中执行此操作的标准方法是使用一个环境变量来标识每个唯一的部署配置,并结合映射到每个配置的自定义设置:

这是一个很好的SO主题:

environment configs in Node

结合上述内容,在Azure中,您将在应用程序设置中定义NODE_ENV变量,以表示您在Azure中运行,如下所示:

setting Node config

在您的代码中,检查process.env.NODE_ENV的值,并根据您是否在Azure,localhost或其他适合您需要的环境中使用相应的操作。

这是一个进一步演示的小代码示例:

github sample

祝你好运!