process.env.PORT未定义

问题描述:

我正在尝试在运行离子窗口服务器2012的node.js应用程序上进行生产。经过一个星期的故障排除并阅读了所有可以联机的问题,是“process.env.PORT”变量。process.env.PORT未定义


的症状如下:

网站正常工作时:

set PORT=3510 in console 
domain.com:3510/index.html in remote browser 

然而,当我键入:

domain.com

我得到一个404 - 找不到文件或目录。


当我CONSOLE.LOG的“process.env”对象在我server.js的启动时,执行console.log打印具有多个属性,但没有“PORT”属性的对象(除非我“设置PORT = 3510" )。在启动server.js之前没有手动设置端口,“process.env.PORT”console.logs报告未定义。

但是,如果手动指定端口,服务器仍然不起作用,因为根据我读的内容,节点期望“process.env.PORT”是一个命名管道而不是数字。

所以这个问题是非常具体:

如何在Windows中设置的“process.env.PORT变量” 2012服务器,以便能的NodeJS使用它?

您需要将其设置在web.config文件中。您可以用您需要的值将一个键设置为“PORT”。以下面的web.config文件为例...

<configuration> 
    <appSettings> 
     <add key="PORT" value="3510" /> 
    </appSettings> 
    ...(Other configurations here) 
</configuration>