ここしばらくフロント開発が便利になった反面、サーバ(node.js)でこれ使えないんだっけとなることが多々あります。
特に通信系は多種にわたる処理のいろんなフェーズで使うのため、その場その場で使うものを決めていたんですが今後のために少しまとめておきます。
http / https
方法もライブラリも大量にあるが身の回りの物を比較。正直どれでもいい。
- node-fetch/node-fetch ★4.6k
- matthew-andrews/isomorphic-fetch ★6.5k
- axios/axios ★68.8k
Fetch APIが使いやすいこともありNode.jsでも同様に使うというのは諸々のハードルが低くていい感じです。
最初はnode-fetchを使ってましたが、参照先がisomorphic-fetchを使っていることが多く最近はこっちを使っています。違いは感じないです。
利便性も人気も高いaxiosをサーバー・ブラウザ共通で使うという選択もできます。
種類の異なる複数のAPIとやり取りをするならインスタンス化できるこちらの方が使いやすいかと思ったけどそこまででもなかった。
websocket / ws / wss
socket.ioの影響力が強いのでサーバーユースならsocket.io、クライアントならsocket.io-clientでいいと思います。
- socketio/socket.io ★48.5k
- socketio/socket.io-client ★8k
- websockets/ws ★13.2k
- websockets/wscat ★719
- theturtle32/WebSocket-Node ★2.9k
何も考えずにyarn add websocket
とかすると最後のがインストールされます。
wscatはnpxと組み合わせて多環境でちょっと試したりするのに最適。
普通のWebAPIのように使いたい場合はwsが一番扱いやすいです。
originの設定が簡単にできるのもうれしい。