exposed or just local ? in general @lichtjaeger is right although as a devops guy I don't like "language specific"-examples
if you have a free port 80 and/or 443, which are the default ports of the browser for http/https connections and you are connected to a LAN, you can expose your machine to serve as a web-server. (or any other server if you so choose)
if you're building an intranet you can configure your router so it uses dnsmasq or something similar to give a local TLD (top level domain)
myintranet.lan for example
if you configure it right your machine name (example: my-laptop) can be used as a specific identifier
if you add a nginx/apache/node/c++/whatevermakesyouhappy server on port 80 to it you usually have to set a name for the host which has to match with the hostname in the GET request.
for example :
myapp.my-laptop.intranet.lan -> <appname>.<machine-identifier>.<domain>.<top-level-domain>
which can be seen generalized as <subsubdomain>.<subdomain>.<domain>.<top-level-domain>
if you set the foundation right now everyone inside the network can access everyones elses hosts if needed.
If you wanna host things via the internet you would need a static IP and a DNS entry but it's basically the same. you could just remove the <my-machine> part if you want.
oh and VPNs are ofc a possibility if you wanna be more secure :)