Javascript — узел JS возвращает имя хоста

Узел JS возвращает имя хоста

В соответствии с документацией node.js для модуля «os» вам необходимо загрузить модуль «os», который имеет функцию hostname() :

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

Однако это только имя хоста — без имени домена (FQDN). Нет простого способа получить полное доменное имя. Вы можете использовать DNS-функции node.js, чтобы попытаться превратить IP-адрес сервера (который вы получаете с помощью os.networkInterfaces() , см. Ссылку на документ выше) в имя. Единственная проблема заключается в том, что серверы могут иметь разные интерфейсы и имена, поэтому вы должны решить, какой из них вам нужен.

Вы пытались использовать объект window , но он существует только в среде выполнения JavaScript браузеров. Серверный JavaScript не имеет окон, очевидно, поэтому нет window объекта. Смотрите этот вопрос: «Есть ли в node.js эквивалент окна в браузере» .

С этой информацией ваш вопрос немного странный — в браузере window.location.hostname является частью хоста URL, с которого была загружена текущая страница. Как вы переводите это в контекст сервера? Код, который вы запускаете на node.js, по определению взят с того самого сервера, поэтому вам на самом деле не нужна эта информация. Он может вам понадобиться в браузере, потому что эта информация является переменной, особенно когда вы запускаете гибридные приложения (код JS из разных источников), ваш код может не знать, откуда была загружена страница, на которой он работал. На сервере вы всегда знаете, что это ваша локальная файловая система.

Кстати, вы всегда можете использовать localhost качестве имени хоста :)

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector