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