端口8010在app.json中指定,运行node index.js
在端口8010上启动服务。每次启动服务时,NTVS都会在随机分配的端口上启动它。
我对它没什么经验,但最近已经提供了一个大型的Nodejs / Express / Kraken / Angular代码库。 我做的第一件事是安装NTVS(Visual Studio的节点工具)为什么?因为Visual Studio是我熟悉的
我从现有来源创建了一个新项目,启动了代码,它运行并运行但每次都是从不同的随机分配的端口号开始。
然后我在Projects config
这将启动调试器侦听该端口
但该应用将从不同的端口
如果我在发布模式下运行,调试器仍然在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方法,但这似乎对端口没有任何作用。
答案 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