无法运行简单的node.js应用抛出错误:监听EACCES

时间:2018-12-05 15:08:01

标签: javascript node.js express

我通常在c9上编写代码,试图在我的本地环境上工作,我正在尝试一个非常愚蠢的应用程序,但出现错误。

APP:

let foo = Foo()
let clos = { (x:Int)->Int in return foo[x] }
print (clos (42)) // -> 42

错误:

//APP IMPORTS
var express    = require('express'),
    app        = express()


//INDEX PAGE
app.get('/', function(req, res) {
   res.send('Welcome');
});


app.listen('localhost', 30000, function() {
   console.log("mirror server started!"); 
});

不确定为什么会这样,我首先尝试使用process.env.IP和process.env.PORT,但是我还不想设置环境变量,而且我不知道默认情况下ip节点使用什么,所以我尝试了像这样不确定为什么它不起作用,我也尝试使用“ 127.0.0.22”和PORT 3000等IP地址。

2 个答案:

答案 0 :(得分:1)

您的端口号和“绑定主机”的顺序错误。应该是:

app.listen(30000, 'localhost', ...)

答案 1 :(得分:0)

尝试以下操作以启动您的应用:

//APP IMPORTS
var express    = require('express'),
    app        = express()


//INDEX PAGE
app.get('/', function(req, res) {
   res.send('Welcome');
});

app.set('port', 30000);

app.listen(app.get('port'), function() {
   console.log("mirror server started!"); 
});

您的服务器应自动将localhost用作主机,并在使用服务器主机进行生产时立即进行更改。

另一种方式

只需替换您的侦听功能参数的顺序,例如:

app.listen(30000, 'localhost',  function() {
   console.log("mirror server started!"); 
});

像express这样的签名描述如下:app.listen([port[, host[, backlog]]][, callback])

来源:Express documentation
您可以找到here关于如何表达手语server config

的简短说明