如何在 Angular 2 组件中使用 require('os') 来获取 IP 地址?

How can I use require('os') in an Angular 2 Component to get an IP Adress?

我想要求以下内容:https://nodejs.org/api/os.html, 这样我就可以从 Angular 组件中访问 IP 地址等。

但以下内容不起作用:

 const os = require("os");

当我登录 os 时,我只得到空值:

{endianness: ƒ, hostname: ƒ, loadavg: ƒ, uptime: ƒ, freemem: ƒ, …}
EOL
:
"↵"
arch
:
ƒ ()
cpus
:
ƒ ()
endianness
:
ƒ ()
freemem
:
ƒ ()
getNetworkInterfaces
:
ƒ ()
homedir
:
ƒ ()
hostname
:
ƒ ()
loadavg
:
ƒ ()
networkInterfaces
:
ƒ ()
platform
:
ƒ ()
release
:
ƒ ()
tmpDir
:
ƒ ()
tmpdir
:
ƒ ()
totalmem
:
ƒ ()
type
:
ƒ ()
uptime
:
ƒ ()
__proto__
:
Object

在我的 Node Express 服务器中一切正常,我可以按预期使用 OS。

编辑:如果这不起作用,是否还有其他方法可以获取 IP 地址和架构?

编辑 2:要求:我无法调用外部网站以从那里取回我的 IP

据我所知,OS 模块与浏览器不兼容。您可以改用 sniffr 在客户端获取类似信息。

我找到了一个相当简单的解决方案来满足我的特定要求,我想分享它以帮助处于类似情况的其他人:

使用 window 对象我得到了所有信息而不需要添加任何包

ipAddress = window.location.host

可以在此处找到文档 https://www.w3schools.com/jsref/obj_window.asp