1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Reactが動く仕組み】第1弾:Node.jsって結局何?

1
Last updated at Posted at 2026-04-01

【Reactが動く仕組み】シリーズ

Reactでコードを書いて、アプリは作れる。
でも、「どうやって動いているのか?」と聞かれると、言葉にできない…。
一歩踏み出して、「裏側の仕組みを理解して説明できる」を目指したシリーズです。

全7弾で以下の内容を記載予定です。
1.Node.js(実行環境)
2.ビルド(構築の流れ)
3.Babel / polyfill(変換)
4.DOM / 仮想DOM(仕組み)
5.レンダリング(動き)
6.再レンダリング(なぜ起きる?)
7.最適化(どう見極める?)

今回はその第1弾として、「Node.jsとは何か」を整理していきます。

はじめに

先人の方々が残してくださった記事やブログを参考に、環境構築を進めてきたのですが、
正直なところ「Node.jsとは何か」をあまり意識したことがありませんでした。:see_no_evil:

  • 何ができるのか
  • 何のためにインストールしたのか

(同じように、なんとなく使っていた方もきっといるはず…)

ということで、今回は基礎から整理してみることにしました。
そのため、内容はそこそこ初心者向けになっていると思います。

この記事でわかること

  • Node.jsとは何か
  • JavaScriptはどこで動くのか
  • なぜReact開発にNode.jsが必要なのか

Node.jsとは何か

Node.jsとは何かを一言でいうと、

👉 JavaScriptを「ブラウザ以外」で動かすための実行環境
👉 この「ブラウザ以外で動く」という特徴が、React開発で重要

JavaScriptはもともとどこで動くのか

普段書いているJavaScriptは、基本的にブラウザ上で動いています。

例えば

  • ボタンをクリックしたときの処理
  • 入力フォームのバリデーション
  • 画面の表示切り替え

こういった処理はすべて、ブラウザの中で実行されています。

ブラウザだけではできないこと

ただし、ブラウザで動くJavaScriptには制限があります。

例えば

  • ローカルファイルの読み書き
  • サーバーとしての処理(リクエストを受け取るなど)

👉 これらはブラウザではできません
👉 Reactアプリを作る過程では、これらの処理が必要

そこで登場するのがNode.js

Node.jsを使うと、JavaScriptをブラウザの外で動かすことができます。

つまり

  • ファイルの読み書きができる
  • サーバーとして動かせる
  • コマンドラインでスクリプトを実行できる

👉 「裏側の処理」もJavaScriptで書けるようになる

なぜそれができるのか?

Node.jsは、JavaScriptを実行するためのエンジン(V8)をベースにして、
ファイル操作やネットワーク通信といった機能を追加した環境です。

そのため

👉 ブラウザではできないことも実行できる

混乱したポイント

ちょっと待った。

Node.jsって、環境構築で入れた「開発ツール」じゃなかったっけ?
それなのに、サーバー?ファイル操作?
「Node.jsでビルドする」という記事も見るけど…どういうこと?

開発中は、ビルドやパッケージ管理などでNode.jsを使っていますが、
一方で「Node.jsはサーバーサイドで使われる」という説明もよく見かけます。

そのため、

  • 開発で使うNode.js
  • サーバーとして動くNode.js

が、別のもののように感じてしまい、なかなかモヤが晴れませんでした。

結論

👉 どちらも同じNode.js

ただし、使われる役割が違うだけです。


開発時のNode.js

  • ビルド(Babel / webpack)
  • 開発用サーバーの起動
     (作成中のアプリをブラウザで確認できるようにし、変更を自動反映してくれる)
  • パッケージ管理(npm)

👉 Reactアプリを「作るための道具」


本番環境でのNode.js(使う場合)

  • APIの処理
  • データベースとのやり取り
  • ファイル操作

👉 サービスの「裏側を動かす役割」


このように、Node.jsは「サーバー」「開発環境」のくくりではなく、
JavaScriptを実行するための環境です。

👉 「Node.js=サーバー」ではなく、
👉 「サーバーとしても使える実行環境」 と考えると整理しやすいです。

そのため、同じNode.jsでも用途によって役割が変わることで、
別のもののように見えてしまっていた、というのが今回の混乱の原因でした。

では、この整理を踏まえて、本題に戻ります。
👉 React開発では、このNode.jsがどのように使われているのか?

なぜReact開発にNode.jsが必要なのか

ここまでで、Node.jsの基本は理解できました。
ではここで、「React開発でなぜNode.jsが必要なのか」を整理します。
 
結論からいうと、
👉 Reactアプリを「開発・ビルドするための処理」を動かすために必要だからです
 
Reactでアプリを作るとき、ブラウザで動かす前に、いくつかの処理が行われています。

例えば:

  • JSXをJavaScriptに変換する(Babel)
  • 複数のファイルを1つにまとめる(webpackなど)
  • 開発用サーバーを起動する
  • 必要なライブラリをインストールする(npm)

これらの処理は、すべてブラウザでは実行できません。

 

そこで登場するのがNode.jsです。

混乱ポイントで少し触れましたが、Node.jsを使うことで、

  • コマンドラインでビルド処理を実行する
  • 開発サーバーを立ち上げる
  • パッケージ管理を行う

といった、「開発に必要な裏側の処理」を動かすことができます。

 

👉 つまり、React開発におけるNode.jsは

👉 アプリを動かすためではなく、「アプリを作るため」に使われている

 

このように、Node.jsはReactの実行そのものではなく、
開発環境を支える重要な役割を担っています。

まとめ

  • JavaScriptは、もともとブラウザで動く言語
     
  • Node.jsは、JavaScriptをブラウザ外で動かすための実行環境
     
  • Node.jsは、「開発ツール」と「サーバー」の2つに分かれているわけではなく、
    👉 同じ環境が用途によって役割を変えているだけ
     
  • React開発では、Node.jsは
    👉 アプリを動かすためではなく、「アプリを作るためのツール」として使われている
     
  • 具体的には、ビルドや開発サーバー、パッケージ管理など、
    👉 ブラウザではできない処理を担っている

 

一言にまとめると、
👉 Reactはブラウザで動くが、その裏側はNode.jsが支えている

第2弾に向けて

ここまでで、Node.jsが「JavaScriptをブラウザ外で動かす実行環境」であり、
React開発では「アプリを作るためのツール」として使われていることがわかりました。

では、そのNode.jsは実際に何をしているのか?

例えば、

  • JSXがJavaScriptに変換される
  • 複数のファイルが1つにまとめられる
  • 開発サーバーが起動する

といった処理は、どのように行われているのか?
 
👉 次回は「ビルド」をテーマに、
👉 Reactアプリがどのように構築されているのかを整理していきます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?