module.exportsに吐き出したい処理を設定する。
吐き出された処理を利用するには、
吐き出された処理の保存したファイルをrequireで呼び出して利用できる。
Node.js
【Node.js】モジュールの読み込み順
require(x)を実行したときのモジュールの読み込み順
続きを読む【Node.js】コアモジュール
Node.jsには、コアモジュールと呼ばれる組み込みのモジュールがいくつか提供されている。これらのモジュールはNode.jsをインストールする際に同梱されており、追加のインストールは必要ない。
代表的なコアモジュールには、「http」「fs」がある。
【Node.js】パッケージのインストールとアンインストール
インストール
Node.jsには、パッケージのインストールは「グローバルインストール」と「ローカルインストール」の2種類がある。さらに、ローカルインストールは「開発用(開発環境向け)ローカルインストール」と「リリース用(本番環境向け)ローカルインストール」の2種類がある。
【Node.js】package.json その2
package.jsonの公式ドキュメントは次で読める。
package.json | npm Docs (npmjs.com) ExternalLink
前に書いた関連記事
【Node.js】自作ライブラリの公開 (attacktube.com)
【Node.js】package.json その1 (attacktube.com)
【Node.js】自作ライブラリの公開
localtimeと名前の自作ライブラリをnpmに公開する時は次のようにする。
※「この記事では、『ライブラリ』という言葉は『Node.jsのnpmレジストリからインストール可能なパッケージ』という意味で使用している。
つまり、ここでは『ライブラリ』と『パッケージ』は同じ意味であり、再利用可能なコードや機能をまとめたものを指している。」
【Node.js】versionを指定してnpmでローカルにパッケージをインストールする
versionを指定してnpmでローカルにパッケージをインストールする。
npm i @reiwa_info_fin_corp/localtime@1.0.0
続きを読む 【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は現在勉強中。
最近のコメント