如何为 ironworker (iron.io) 任务设置 NODE_ENV 变量?

How can I set NODE_ENV variable for ironworker (iron.io) task?

有没有办法set/configure NODE_ENV 来完成铁工任务?它未在 process.env 输出中设置。因此 config 模块加载 config/development.json 配置文件。

有几种方法可以设置此值。首先,您可以使用 -e 标志发送 ENV 参数,如此处所述 https://github.com/iron-io/dockerworker/tree/master/node#2-test-locally

Iron 实际上建议您在创建任务时将此信息作为配置和负载的一部分提供。

Iron 建议这样做的方式有点烦人 (http://dev.iron.io/worker/reference/configuration-variables/#config-via-file):

  1. 上传配置文件。json/yml 通过 iron cli 上传代码时指定 --config-file 文件
  2. 通过容器内的CONFIG_FILE环境变量读取此配置文件的路径
  3. 读取这个文件的内容,解析为JSON

我有另一种更简单的方法:使用 npm start:

的参数
  1. 在您的 Node 代码中,通过 env = process.argv[2] || process.env.NODE_ENV
  2. 读取环境
  3. npm start -- <env>作为运行命令传递给iron cli