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

时间:2014-11-25 14:21:16

标签: node.js visual-studio-2013 port kraken.js ntvs

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

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

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

然后我在Projects config enter image description here

上添加了节点和调试端口的值

这将启动调试器侦听该端口enter image description here

但该应用将从不同的端口enter image description here

开始

如果我在发布模式下运行,调试器仍然在8001上启动,服务开始侦听一些不是8000或8010的随机端口。

所以,我尝试在项目设置中运行没有端口,在项目设置中运行 with ports

任何人都知道我需要做什么才能在app.json中指定的端口上启动应用程序?
感谢

更新
该应用程序正在使用Kraken。 Kraken似乎从app.json和app-development.json文件中获取端口配置。 当与节点一起运行时,这一切都按预期运行,甚至通过WebStorm运行(我有一个评估版)

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

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

app对象有一个configure方法,但这似乎对端口没有任何作用。

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

PORT:8000

这将设置为process.env.PORT。

答案 2 :(得分:0)

" Node.js端口:"在项目属性中只需设置环境变量" PORT"在开始节点过程之前。

这相当于:

SET PORT=1234
node myapp

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

相关问题