【发布时间】:2019-03-23 19:59:56
【问题描述】:
我有以下代码,我可以在其中将连接客户端的外部 ip 和端口打印到我的 http 服务器。是否可以将 ip 和端口存储到变量中?全局声明一个变量并在app.use(...) 中更改它似乎不起作用。
var port = 3000;
var express = require('express');
var app = express();
var http = require('http').Server(app);
app.use(function (req, res, next) {
console.log(req.ip);
console.log(req.hostname);
console.log(req.connection.remotePort);
next();
});
app.use(express.static(__dirname + '/'));
http.listen(port, function(){
console.log(`Listening on http://127.0.0.1:${port}`);
});
var openURL = require('opn');
console.log("Opening Server URL")
openURL(`http://127.0.0.1:${port}`);
提前感谢您的帮助!
【问题讨论】:
-
这取决于你想如何使用它。您想在哪里访问 ip 的值?
-
这取决于您如何定义全局变量 - main 或 node.js 脚本文件中的文件级声明是闭包中的变量,因此您无法从另一个脚本中通过名称访问它们被“要求”。
标签: javascript node.js express networking ip