Node.js

【Node.js】モジュールの基本

module.exportsに吐き出したい処理を設定する。
吐き出された処理を利用するには、
吐き出された処理の保存したファイルをrequireで呼び出して利用できる。

続きを読む

【Node.js】コアモジュール

Node.jsには、コアモジュールと呼ばれる組み込みのモジュールがいくつか提供されている。これらのモジュールはNode.jsをインストールする際に同梱されており、追加のインストールは必要ない。
代表的なコアモジュールには、「http」「fs」がある。

続きを読む

【Node.js】パッケージのインストールとアンインストール

インストール
Node.jsには、パッケージのインストールは「グローバルインストール」と「ローカルインストール」の2種類がある。さらに、ローカルインストールは「開発用(開発環境向け)ローカルインストール」と「リリース用(本番環境向け)ローカルインストール」の2種類がある。

続きを読む

【Node.js】自作ライブラリの公開

localtimeと名前の自作ライブラリをnpmに公開する時は次のようにする。
※「この記事では、『ライブラリ』という言葉は『Node.jsのnpmレジストリからインストール可能なパッケージ』という意味で使用している。
つまり、ここでは『ライブラリ』と『パッケージ』は同じ意味であり、再利用可能なコードや機能をまとめたものを指している。」

続きを読む

【Node.js】httpサーバーを立ち上げる その3(サーバーが同時に処理することができる最大接続数を変更)

Node.jsでhttpサーバーを立ち上げる。
サーバーが同時に処理することができる最大接続数を変更する。
最大接続数を1つに設定しておく。
これにより1台目のPCでアクセスして2代目のPCでアクセスすると繋がらなくなる。
server.maxConnectionsで設定可能である。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpサーバーを立ち上げる その2(TCP接続の確立と切断の検出)

Node.jsでhttpサーバーを立ち上げる。
TCP接続が確立された時とTCP接続閉じた時にコマンドプロンプトにログを出すようにする。
それと、keep-alive機能を無効にするにはserver.keepAliveTimeout = 0;としたらいいらしい。
しかし、server.keepAliveTimeout = 0;としてもclosedが2回実行されているから無効にならないみたい。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpモジュールのStream API

Node.jsのhttpモジュールには、Readable StreamとWritable Streamという2つのStream APIがある。
http.IncomingMessageオブジェクトは、Readable Streamであり、Streamの一部(Streamのサブセット)として扱われる。
これはデータの読み込みに使用される。
一方、http.ServerResponseオブジェクトは、Writable Streamであり、Streamの一部(Streamのサブセット)として扱われる。これはデータの書き込みに使用される。
つまり、http.IncomingMessageはデータの受信側、http.ServerResponseはデータの送信側として機能する。
http/1.1にはstreamという仕組みは存在しない。
しかし、Node.jsにはStream APIが存在する。
http/2にはstreamという仕組みが存在する。

http/2のstreamとNode.jsは現在勉強中。

続きを読む