Webアプリ開発を学び始めたが何度も、
「Node.jsって何?npmって必要?package.jsonって何を書けばいいの?」
といった曖昧さを解消したので残しておきたいと思います。
今回は、Node.js・npm・JavaScript・package.jsonの関係性と役割を、具体例を交えてやさしく解説します。
💡 Node.jsとは?
・JavaScriptをサーバーサイドでも動かせるようにした実行環境
従来のJSはブラウザだけで動いていたが、Node.js で「サーバー側の処理」も書けるようになり、サーバーアプリ、API、ファイル操作、DB接続など、バックエンドの多くがJSで可能に。
💡npmとは?
・Node.js のライブラリ管理ツール(Node Package Manager)
世界中の人が作ったパッケージ(=ライブラリ)を簡単にインストールできる
例えば:
・ express
→ サーバー構築
・ axios
→ HTTP通信
・ mongoose
→ MongoDB操作
💡 package.jsonとは?
・プロジェクトの設定ファイル
以下のような内容が記録される:
・使用しているライブラリ一覧(dependencies)
・プロジェクト名・バージョン
・起動スクリプト(npm start など)
→ 他の人がこのファイルを見れば、npm install
で同じ環境を再現できる!
💡Webアプリ制作例
実際にこれらを使った制作例をご紹介します。
使用技術:
・フロント:HTML / CSS / JavaScript
・サーバー:Node.js(+ Express)
・管理:npm / package.json
フォルダ構成:
todo-app/
├── app.js ← Node.jsサーバー
├── package.json ← 設定ファイル
└── /public ← フロントのファイル
├── index.html
├── style.css
└── script.js
機能概要:
・サーバーはNode.jsで構築し、API(GET/POST/DELETE)で通信
・npmでexpressを導入してルーティング処理を楽にしている
✅️まとめ
まずはシンプルにまとめると、
JavaScriptでWebアプリを作りたいとき、Node.jsを使えばサーバーサイドもJavaScriptで書ける。
更にnpmを使えば便利なライブラリを追加できて、それらの管理はpackage.jsonに記録される。
JavaScript
↓(サーバーサイドで動かしたい)
Node.js
↓(便利なライブラリを使いたい)
npm
↓(ライブラリや設定を管理する)
package.json
Webアプリ開発では、フロントだけでなくサーバーやデータ管理も重要です。この関係が理解できると、ReactやNext.js、Vueなどのモダンなフレームワークにもスムーズに入っていけます。
初めてのWebアプリ制作は不安も多いですが、JavaScriptだけで完結できるNode.js環境は、初心者にも優しく、将来の拡張性もバツグンです。
色々と試して技術を増やしていきましょう!