将iisnode中的Node.js环境变量(NODE_ENV)设置为生产/开发/测试

将iisnode中的Node.js环境变量(NODE_ENV)设置为生产/开发/测试

问题描述:

我们如何告诉iisnode在生产/开发/测试中运行我们的Node.js应用程序环境?

How do we tell iisnode to run our Node.js application environment in production/development/test?

我们已成功使用iisnode运行我们的Node.js应用程序但 process.env.NODE_ENV 以'undefined'形式出现。

We have successfully gotten our Node.js app running with iisnode but process.env.NODE_ENV is coming out as 'undefined'.

目前,我们的web.config文件是这样写的:

At the moment, our web.config file is written this way:

<configuration>
  <system.webServer>

    <handlers>
      <add name="iisnode" path="app.js" verb="*" modules="iisnode" />
    </handlers>

    <rewrite>
      <rules>
        <rule name="app">
          <match url="/*" />
          <action type="Rewrite" url="app.js" />
        </rule>
      </rules>
    </rewrite>

    <security>
      <requestFiltering>
        <hiddenSegments>
          <add segment="node_modules" />
        </hiddenSegments>
      </requestFiltering>
    </security>    

  </system.webServer>
  <appSettings>
    <add key="NODE_ENV" value="production" />
  </appSettings>
</configuration>


Joachim就在上面添加< iisnode node_env =production/> 到web.config允许控制NODE_ENV值。另一种方法是在web.config旁边添加 iisnode.yml 文件,然后将NODE_ENV值spcify为 node_env:production 。请参阅 https://github.com上iisnode.yml中可以使用的其他设置。 /tjanczuk/iisnode/blob/master/src/samples/configuration/iisnode.yml

Joachim is right above that adding <iisnode node_env="production" /> to web.config allows control over the NODE_ENV value. Another way is to add the iisnode.yml file next to your web.config, and in there spcify the NODE_ENV value as node_env: production. See other settings you can use in iisnode.yml at https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/iisnode.yml