从 Node JS 获取服务器的端口 connect.js
Get server's port from Node JS connect.js
我想从我的节点 js 服务器向终端输出类似 "Listening on port {port_#}" 的消息。
我找到了文档,例如 NodeJS: How to get the server's port?,但它们只讨论 Express JS。
我正在使用 ConnectJS 方面进行连接。所以我的代码看起来像:
var connect = require('connect');
var serveStatic = require('serve-static');
connect().use(serveStatic(__dirname)).listen(8080);
console.log("Listening on port %d", connect.address().port);
但是,这不起作用。我如何将端口登录到终端?
您正在尝试调用连接库的 .address()
方法。这种方法不存在。它甚至不存在于 connect()
的实例中。您正在寻找的方法存在于 http.Server
对象中。
创建连接实例时,会返回一个应用程序。当您告诉应用程序收听时,您可以提供一个回调,该回调会在应用程序开始收听时调用。此回调使用 http.Server
作为绑定到 this
.
的上下文调用
var connect = require( 'connect' )
var app = connect()
app.listen( 8080, function(){
//`this` is the underlying http.Server powering the connect app
console.log( 'App is listening on port ' + this.address().port )
})
来自 source code 连接:
app.listen = function(){
var server = http.createServer(this);
return server.listen.apply(server, arguments);
};
我想从我的节点 js 服务器向终端输出类似 "Listening on port {port_#}" 的消息。
我找到了文档,例如 NodeJS: How to get the server's port?,但它们只讨论 Express JS。
我正在使用 ConnectJS 方面进行连接。所以我的代码看起来像:
var connect = require('connect');
var serveStatic = require('serve-static');
connect().use(serveStatic(__dirname)).listen(8080);
console.log("Listening on port %d", connect.address().port);
但是,这不起作用。我如何将端口登录到终端?
您正在尝试调用连接库的 .address()
方法。这种方法不存在。它甚至不存在于 connect()
的实例中。您正在寻找的方法存在于 http.Server
对象中。
创建连接实例时,会返回一个应用程序。当您告诉应用程序收听时,您可以提供一个回调,该回调会在应用程序开始收听时调用。此回调使用 http.Server
作为绑定到 this
.
var connect = require( 'connect' )
var app = connect()
app.listen( 8080, function(){
//`this` is the underlying http.Server powering the connect app
console.log( 'App is listening on port ' + this.address().port )
})
来自 source code 连接:
app.listen = function(){
var server = http.createServer(this);
return server.listen.apply(server, arguments);
};