Windows に Node.js をインストールして、JavaScript の実行環境を構築します。
また、基本的な実行方法についてもまとめます。
Node.js
Node.js は、オープンソースの JavaScript における実行環境です。
これまでブラウザでの利用に限られていた JavaScript の用途を広げ、汎用性の高い言語にした実行環境です。
Web アプリのサーバサイドをはじめ、デスクトップアプリや機械学習、IoT デバイスで動作するアプリの実行環境として利用されています。
非常に人気の高い技術であり、2004 年の公開以降、様々なプラットフォームに拡大し、利用され続けています。
環境構築
公式の Windows Installer を利用してインストールを行い、動作確認をします。
ここでは、最新版ではなく、機能保証やバグ修正のサポートが長く安定している LTS(Long Term Support)のインストーラを使用します。
投稿時点のバージョンは、v16.13.2 です。
インストール
- 「公式サイト」へアクセス
- LTS のWindows Installerをクリック
アクセスした PC の OS に最適なインストーラが識別され、自動でダウンロードが開始されます。

- ダウンロードした
node-v16.13.2-x64.msi(当環境の場合)をダブルクリックして実行 - ライセンス規約に同意のうえNextをクリック

- インストール先フォルダの設定(デフォルトは
C:\Program Files\nodejs) - Nextをクリック

基本的にはデフォルトの設定のままNextをクリックします。
各項目の概要は下表の通りです。
| 項目 | 概要 |
| Node.js runtime | Node.js の実行環境におけるコア |
| corepack manager | npm や yarn 等のパッケージ管理ツールにおける管理ツール |
| npm package manager | パッケージ管理ツール |
| Online documentation shortcuts | ドキュメントのショートカットをスタートメニューに作成 |
| Add to PATH | 環境変数「PATH」の自動設定 |

Add to PATHにより、「システム環境変数」の「Path」へ Node.js における実行可能ファイルであるnode.exeでのパスが自動登録されます。
これにより、コマンドライン上で、nodeをコマンドとして実行できるようになります。
環境変数の詳細は下記を参照ください。
nmp コマンドによりインストールされる特定の nmp モジュールは、インストール時に C/C++ ソースのコンパイルからビルドされる仕様です。
それらのモジュールを利用する場合は、コンパイルに必要なツール(Python + Visual Studio Build Tools)もインストールされている必要があります。

オプションをチェックすることで、Node.js のインストール完了後、コマンドプロンプトにおいてネイティブモジュール用ツールのセットアップスクリプトが起動し、必要なツールのインストールも併せて行われます。(STEP.7)
ここでは、チェックのうえ、Nextをクリックします。
ここでチェックしない場合も、後から GitHub の node-gyp を参照のうえ設定可能です。
Installをクリックしてインストールを開始します。

インストールの完了を確認のうえ、Finishをクリックします。

その後、STEP.5 におけるオプションのチェックを行った場合は、セットアップスクリプトがコマンドプロンプト上で起動します。
- スクリプトの実行開始(キー押下)
- ライセンス規約に同意(キー押下)
- PowerShell が起動し処理開始
- パッケージのセットアップ完了を確認(「Type Enter to exit」に ENTER で終了)



インストールは以上で終了です。
動作確認
コマンドプロンプトに下記コマンドを入力し、インストールした Node.js バージョンが表示されれば、正常にセットアップされています。
コマンドプロンプトは、タスクバーの検索欄か、Windows + rで起動した「ファイル名を指定して実行」のダイアログに、cmdと入力して起動します。
node -v

v0.12.2 などと、異なるバージョンがリターンされる場合があります。
これは何らかの契機で過去にインストールされた 32 bit 版の Node.js が存在し、そのパスが「システム環境変数」の「Path」に登録されているためです。
さらに、OS によるパスの検索優先順位が、64 bit 版(最新版)のパスよりも高くなっているためです。
「システム環境変数」の「Path」においては、上にあるレコードほど優先順位が高くなります。
そのため、64 bit 版(最新版)のパスを 32 bit 版より上へ変更する必要があります。
参考までに、デフォルトの場合、各パスは下表の通りです。
| バージョン | パス |
| 64 bit 版(最新版) | C:\Program Files\nodejs |
| 32 bit 版 | C:\Program Files (x86)\nodejs |
パスは、コマンドプロンプトにwhere nodeを入力することでも検索可能です。
環境変数の詳細は下記を参照ください。
実行方法
Node.js における実行方法は主に 2 種類あります。
| 実行方法 | 概要 |
| REPL | コマンドラインにコードを直接入力 |
| スクリプトの実行 | ソースコードを記述したスクリプトファイルを実行 |
一般的な開発は、スクリプトファイルを用いますが、文法上のチェックや簡易的な計算等で REPL を用いることもあります。
REPL
REPL(Read-Eval-Print-Loop)は、コマンドラインにコードを直接入力して実行させる対話型評価環境です。
式や文などのコードを 1 行入力しては即座に評価結果を返され、再び入力待ち状態となり、それを繰り返します。
コマンドプロンプトにnodeと入力することで REPL を起動します。

例えば、お馴染みの挨拶はconsole.log("Hello World!")で標準出力します。
参考までに、戻り値はないため、undefinedが評価値として返ってきています。

また、算術演算子一覧を参考に、計算も可能です。
| 演算子 | 役割 | 例 | 結果 |
| + | 加算 | 2 + 5 | 7 |
| – | 減算 | 11 – 3 | 8 |
| * | 乗算 | 7 * 5 | 35 |
| / | 浮動小数点数の除算 | 9 / 4 | 2.25 |
| % | 剰余 | 17 % 6 | 5 |
| ** | べき乗 | 2 ** 5 | 32 |

さらに、.editorを入力することで、エディタモードを開始できます。
複数行のコードを入力した後、Ctrl + Dで評価結果を確認し、Ctrl + C でコードの入力や実行のキャンセルを行うことができます。

REPL を終了する場合は、Ctrl + Dを押下するか、.exitを入力します。
REPL の詳細は下記を参照ください。
スクリプトの実行
ソースコードを記述した*.jsをコマンドラインから実行する一般的な方法です。
ここでは、お馴染みの挨拶をブラウザに出力する hello.js を作成して、コマンドプロンプトから実行します。
コーディングに便利なエディタを用意します。
高機能なプラグインが豊富に用意されており、カスタマイズ性が高く、使い勝手が良い有名なテキストエディタを 3 つ挙げます。
| テキストエディタ | 提供元 |
| Visual Studio Code | Microsoft |
| Atom | GitHub |
| Brackets | Adobe |
基本的に無料で、インストールしたら直ぐに利用可能です。
Windows の「メモ帳」でもプログラムの記述は可能ですが、自動補完やハイライト表示、キーバインドなど、開発スピードを向上させる各種機能を持つテキストエディタは必須アイテムです。
下記プログラムをテキストエディタ等で記述し、hello.js として任意のディレクトリに保存します。
ここでは、C:\Users\CHAM\Documents\demo に保存します。
const http = require("http");
const host = "127.0.0.1";
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader("Content-Type", "text/plain");
res.end("Hello World!");
});
server.listen(port, host, () => {
console.log(`Starting development server at http://${host}:${port}/`);
console.log("Quit the server with Ctrl + C");
});
コマンドプロンプトを起動して、hello.js が存在するディレクトリに移動します。

実行コマンドは下記の形式であり、コマンドプロンプトに入力します。
node <file-name>.js
hello.js をコマンドプロンプトで実行し、http://127.0.0.1:3000/ にアクセスすると、ブラウザに「Hello World!」が表示されます。


以上がスクリプトの実行方法です。
おすすめの技術書
Node.js を用いた Web 開発の参考になる書籍を紹介します。
数ある技術書の中から 2 冊ピックアップしました。
ただし、JavaScript における基本的な知識とスキルを、ある程度習得していることが前提となっています。
そのため、未経験者は JavaScript の入門書とセットで学習することが望ましいです。
JavaScript の入門書についても、2 冊厳選しました。
これらは、文系出身者をはじめとする、非エンジニアの社員を対象とした勉強会等でもよく利用されています。
Node.js 超入門
基本的な利用方法をはじめ、サーバとクライアントとのデータの流れや、DB との連携による Web アプリ開発の仕組みを学ぶことができます。
不足があるものの、JavaScript 初心者のための基本事項もまとめられています。
サンプルコードの動作不具合も見受けられますが、公式ドキュメントを参照して解決したり、デバッグをしたりと、手を動かしながら深く学習することができます。
入門 Node.js プログラミング
Node.js を用いた Web アプリ開発の基礎知識をはじめ、より実用的なテクニックを学ぶことができます。
「そもそも Node.js とは何か?」や動作の仕組みなど、ブラックボックスの中身を把握するこもできます。
翻訳書であるため、読みにくい部分もありますが、プログラミング関連の技術書においてはよくあることであり、読解力を付ける練習にもなります。
独習 JavaScript
「独習シリーズ」の JavaScript 編です。
システムエンジニアやプログラマからの知名度が高い定番の技術書です。
必要十分かつ実用性の高い情報がバランス良く丁寧に説明されており、とても読みやすいです。
未経験者や新人エンジニアへの研修等でもよく利用されています。
辞書としても手元に置いておきたい 1 冊です。
確かな力が身につく JavaScript「超」入門
「超入門シリーズ」の JavaScript 編です。
基本的な知識と文法を一通り学ぶことができます。
複数のサンプルプログラムや簡易アプリの実装を通じ、どのようなシーンで利用できるかを具体的にイメージすることもできます。
短期間で JavaScript の基礎と全体像を掴むことができる 1 冊です。
CHAM 




