Remixで開発したアプリケーションを起動して、同じネットワーク内の他の端末からアクセスする方法について紹介します。
通常、node.jsで起動したアプリケーションはlocalhostを表す127.0.0.0で起動することが多いと思います。
この値を0.0.0.0に変更することで外部からのアクセスが可能になるとされています。
ただ、実際に外部の端末から0.0.0.0でアクセスしても、Remixを起動している端末には接続できません。
外部からアクセスしてもらうために必要なIPアドレスを確認するには、アプリケーションが動く端末側のコンソールにてIpconfigを実行します。
# 無線LANのIPアドレスを確認
Ipconfig getifaddr en0
# 有線LANのIPアドレスを確認
Ipconfig getifaddr en1
では、Remixにて起動した時のホストを指定するにはどうすればよいのでしょうか?
Remixでは、process.env.HOSTを通してExpressのapp.listenにホストの値を渡しています。
cli.ts
let server = process.env.HOST
? app.listen(port, process.env.HOST, onListen)
: app.listen(port, onListen);
なので、環境変数HOSTを0.0.0.0に設定することで、外部からのアクセスが可能になります。
export HOST="0.0.0.0"
最後に、別の端末から、先ほど取得したIPアドレスを指定してアクセスしてみましょう。
192.168.xx.x:3000
参照記事