イナヅマTVログ

node.js local IP アドレスを取得したい

| 0件のコメント

local IP アドレスを取得したい。

Google先生は賢いなぁ、色々教えてもらった。
割と初歩的なことらしくお恥ずかしい…

Node module の os.networkInterfaces を使うとよいそうです。
node.js/api/os.networkInterfaces

stackoverflow: Get local IP address in node.js
matthew-jackson.com: Find and Store your IP Address with Node

"use strict";
 
var gulp = require( 'gulp' );
 
var os = require('os');
var ifaces = os.networkInterfaces();
var ipAddress;
 
Object.keys(ifaces).forEach(function (ifname) {
  ifaces[ifname].forEach(function (iface) {
 
    if ('IPv4' !== iface.family || iface.internal !== false) {
      // skip over internal (i.e. 127.0.0.1) and non-ipv4 addresses
      return;
    }
 
    console.log(ifname, iface.address);
    // en0 192.168.1.NNN
    ipAddress = iface.address;
 
  });
});

な感じで分かるらしいです。
networkInterfaces の familyが’IPv4′ で internalがtrue だと local ip address なんだね。

【おまけ】

BrowserSync を IP アドレスで立ち上げたくて調べてたけど必要ありませんでした。

BrowserSync の openオプションを使えば良いだけでした。
BrowserSync#open

open: 'external'

とすると ‘localhost’ でなく IP アドレスで起動してくれました。
はぁ〜

コメントを残す