Node.js 実行環境など
- Node.js とは/Node.js をインストールする
nvmで複数の Node.js バージョンを切り替えて使用する (Node Version Manager)corepackを使ってプロジェクト内で使用するpnpm/yarnのバージョンを管理する- Node.js スクリプトにシェバング (
#!) を付けてコマンドとして起動できるようにする - Node.js で assert を使用する
- Node.js で環境変数を参照する (
process.env) - 環境変数の代わりに
.envファイルを使用する (dotenv) - Node.js がどのバージョンの V8 エンジンで動作しているか調べる
nodemonで Node.js サーバの再起動を自動化する
モジュール/パッケージ
- Node.js 用モジュールの作り方(
requireでロード可能な Node モジュールを作成する) - Node.js が
require()で検索するパスのまとめ - 外部の JSON ファイルを読み込む (
require) - モジュール自身のコードにテストコードを記述する (
require.main)
npm (Node Package Manager)
package.jsonによる依存パッケージの管理方法まとめ- npm コマンドで Node.js のパッケージをインストール/アンインストールする (
npm install,uninstall) - npm コマンドでインストールされている Node.js 用パッケージの一覧を表示する (
npm list,ll) - npm コマンドでインストール可能なパッケージを検索する (
npm search) - npm コマンド用に HTTP プロキシを設定する (
npm config) - npm でインストール可能なパッケージのバージョンを調べる
- npm run で任意のコマンドを実行する (
npm run,npm start) - npm run のスクリプトの中でファイルのコピーを行う (
cpx) - npm run のスクリプトの中でディレクトリを削除する (
rimraf) - npm run のスクリプトを連続実行・並列実行する (
npm-run-all)
入出力 (I/O)
標準入出力/外部プログラム実行
- 標準出力 (stdout)、標準エラー出力 (stderr) への出力
- コマンドライン引数(パラメータ)を取得する (
process.argv) - キーボードからの入力を取得する (
readline.question) - 外部プログラムを実行してその出力を取得する (
child_process)
ファイル/ディレクトリ
- 実行中の JavaScript ファイルのパスやディレクトリ名を取得する (
__filename,__dirname) - エントリポイントとなった JavaScript ファイルのパスやディレクトリ名を取得する (
require.main.filename) - パスを結合する (
path.join) - 指定したパスがディレクトリかどうか調べる (
fs.Stats.isDirectory) - カレントディレクトリ以下のファイルを列挙する (
fs.readdir)
CSV / Yaml
SQLite データベース
MongoDB データベース
デバッグ/テスト
ネットワーク
URL
HTTP 通信 / HTTP サーバ
- http 標準モジュールを使用して HTTP サーバを立てる
- http 標準モジュールを使用して HTTP 通信を行う
- node-fetch モジュールを使用して HTTP 通信を行う
- request モジュールを使用して HTTP 通信を行う (deprecated)
- request-promise モジュールを使用して HTTP 通信を行う (deprecated)
- プロキシ経由の HTTP 通信を行う(global-agent モジュール)
- プロキシ経由の HTTP 通信を行う(request モジュール)
WebSocket 通信
- WebSocket のクライアントを作成する
- Node.js で WebSocket サーバを作る(簡単な echo サーバ)
- Node.js で WebSocket サーバを作る(簡単な chat サーバ)
- WebSocket サーバに接続してきたクライアントの情報を調べる
Web サーバ (Express)
- Express の特徴とインストール
- Express で Web サーバを作成する
- Express で GET/POST リクエストをハンドルする
- Express のルート定義の URL のパラメータで数字のみを受け付けるようにする
- Express の
next()メソッドで次のハンドラへ処理を委譲する - Express で検索用の URL を定義する (
req.query) - jQuery クライアントと Express サーバで JSON データを送受信する例
- Express サーバの HTTP アクセスログを表示する (
express.logger(),morgan) - Express サーバの Internal Server Error を分かりやすく HTTP ページで表示する
- Express の動作を環境ごとに切り替える(
NODE_ENV変数) - Express で静的ファイル(static ファイル)をホスティングする
- リバースプロキシ経由で Express サーバにアクセスしたときのクライアントのアドレスを取得する (
x-forwarded-for) - Express でテンプレートエンジンを使用する (Jade)
- Express で Basic 認証を有効にする (
basicAuth) - Express で CORS 設定を行う(クロスドメインでのアクセスを許可する)