NTVS未在我指定的端口上运行节点服务

端口8010在app.json中指定,运行node index.js在端口8010上启动服务。每次启动服务时,NTVS都会在随机分配的端口上启动它。

我没有什么经验,但最近已经给了一个大型的Nodejs / Express / Kraken / Angular代码库。 我做的第一件事是安装NTVS(Visual Studio的节点工具) 为什么? 因为Visual Studio是我熟悉的

我从现有的源创build了一个新的项目,启动代码,它运行并工作, 但是每次都从一个不同的随机分配的端口号开始。

然后我在Projectsconfiguration中添加了节点和debugging端口的值 在这里输入图像描述

这将启动侦听该端口的debugging器 在这里输入图像描述

但应用程序将开始在不同的端口 在这里输入图像描述

如果我以释放模式运行,debugging器仍然在8001上启动,服务开始监听一些不是8000或8010的随机端口。

所以,我试着运行没有在项目设置中指定的端口 ,并在项目设置中的端口

任何人有任何想法,我需要做的,以app.json指定的端口上启动应用程序开始?
谢谢

更新
该应用程序正在使用Kraken。 Kraken似乎从app.json和app-development.json文件中取得了端口configuration。 这一切都运行正常,当节点运行,甚至通过WebStorm(我有一个评估版)

index.js中用于启动应用程序的代码不会直接将端口传递给kraken

 kraken.create(app).listen(function (err) { if (err) { var log = require('log4js').getLogger(loggerName); log.error(err.stack); } 

应用程序对象有一个configuration方法,但这似乎没有做任何事情与端口。

尝试在创build服务器时对端口进行硬编码。

 kraken.create(app).listen(53530, function (err) { if (err) { var log = require('log4js').getLogger(loggerName); log.error(err.stack); }); 

在项目属性对话框中的环境variables文本框中添加一个条目。

 PORT:8000 

这将被设置为process.env.PORT。

谢谢。

项目属性中的“Node.js port:”在启动节点进程之前只需设置环境variables“PORT”。

这将是相当于:

 SET PORT=1234 node myapp 

除了命令参数和configuration文件之外,Kraken似乎还使用了process.env.PORT。 见https://github.com/krakenjs/kraken-js/issues/142