gpt4 book ai didi

javascript - Node JS 返回主机名

转载 作者:IT老高 更新时间:2023-10-28 21:55:44 29 4
gpt4 key购买 nike

我还在学习 Node JS 和 javascript 并且有一个应用程序。我有一个配置文件,我需要在其中获取 Ubuntu 12.04 上服务器的主机名

我尝试了类似的方法:

 window.location.hostname

但这没有用。示例代码如下:

exports.config = {
app_name : [ window.location.hostname ]
}

如果我使用字符串,它会加载正常,但这将通过 Github 进行管理,需要在应用加载时加以区分。

最佳答案

根据 to the node.js documentation for the "os" module您需要加载具有 hostname() 功能的“os”模块:

var os = require("os");
var hostname = os.hostname();

但是,这只是主机名 - 没有域名(FQDN)。没有简单的方法来获取 FQDN。您可以使用 the node.js DNS functions尝试将服务器的 IP 地址(通过 os.networkInterfaces() 获得,参见上面的文档链接)变成一个名称。唯一的问题是服务器可能有不同的接口(interface)和名称,所以你必须决定你想要哪一个。

您尝试使用 window 对象,但它只存在于浏览器的 JavaScript 运行时环境中。服务器端 JavaScript 显然没有窗口,因此没有 window 对象。 See this question: "Does node.js have equivalent to window object in browser" .

有了这些信息,你的问题有点奇怪——在浏览器中,window.location.hostname 是当前页面加载的 URL 的主机部分。您如何将其转换为服务器上下文?根据定义,您在 node.js 上运行的代码来自该服务器,因此您实际上并不需要这些信息。您(可能)在浏览器中需要它,因为该信息是可变的,尤其是当您运行 mashup(来自各种来源的 JS 代码)时,您的代码可能不知道它运行的页面是从哪里加载的。在服务器上,您始终知道它是您的本地文件系统。

顺便说一句,您始终可以使用 localhost 作为主机名 :)

关于javascript - Node JS 返回主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20553554/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com