Not able to access localhost via local IP

As far as I can tell the behavior is correct. A basic node web server uses dns.js to resolve any hostname – which itself uses the system's DNS resolution method.

A hostname "127.0.0.1" as well as "localhost" can't be resolved by OS X's mDNS responder (neither non-reverse nor reverse).

So either use your Mac's IP (i.e. 192.168.0.13) or its hostname (e.g. tims-macbook-pro) as hostname. To advertise the service in Bonjour you have to use dns-sd.

Or create several listening IPs like in this q&a.