MENU

package.jsonの読み方入門|初心者でもわかる!スクリプトや依存関係の基本をやさしく解説

目次

このページでわかること

  • package.jsonって何者?どんな役割があるの?
  • よく出てくるプロパティの意味と使い方
  • 実際に見るときのチェックポイント

package.jsonってなにもの?

簡単に言うと、Node.jsプロジェクトの設定ファイル&命令リストです。

「このプロジェクト、どんなライブラリ使ってるの?」「どうやって起動するの?」といった情報がぎゅっと詰まっています。

プログラムの“取扱説明書”みたいな存在ですね。

たとえば、ReactやExpressなどを使ったアプリを開発しているとき、package.jsonがないとライブラリの管理も、起動の仕方もわからなくなってしまいます。


代表的なプロパティの意味

項目意味補足
nameプロジェクト名npmに公開する場合も使われる
versionバージョン番号1.0.0 などセマンティックバージョン形式
descriptionプロジェクトの説明GitHubなどに表示される
mainエントリーポイント通常は index.js
scripts起動やビルドなどのコマンドnpm run に対応
dependencies本番でも必要なパッケージReact, Express など
devDependencies開発中だけ使うパッケージESLint, Jest など

scriptsってなに?

scriptsは、npm runで呼び出せるコマンドを定義しておくところです。

"scripts": {
  "start": "node index.js",
  "dev": "nodemon index.js",
  "build": "webpack"
}
  • npm run start → アプリ起動
  • npm run dev → 自動再起動付きで起動(開発用)
  • npm run build → ビルド処理

こうしておくと、チームメンバーも迷わず使えるし、自分でも毎回長いコマンド打たなくてすむのでとても便利です。


dependenciesとdevDependenciesの違い

依存関係(dependencies)は、2つに分かれています:

種類使う場面
dependencies本番・開発両方react, axios, express
devDependencies開発中だけ必要nodemon, eslint, prettier

インストール時のコマンドで区別されます:

  • 本番用:npm install ライブラリ名
  • 開発用:npm install --save-dev ライブラリ名

Point:本番環境に不要なものはdevDependenciesへ!


実際のpackage.jsonの例

{
  "name": "my-app",
  "version": "1.0.0",
  "description": "練習用Node.jsアプリ",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js",
    "test": "jest"
  },
  "dependencies": {
    "express": "^4.18.2"
  },
  "devDependencies": {
    "nodemon": "^2.0.22",
    "jest": "^29.0.0"
  }
}

この例だけでも、だいぶイメージがつかめるのではないでしょうか?


よくある疑問Q&A

Q. package-lock.jsonはGitに入れるべき?
A. はい、入れるべきです!依存ライブラリのバージョンを固定できるので、他の人がクローンしたときも同じ状態で動作させられます。

Q. scriptsって自分でいくつでも追加していいの?
A. もちろんOK!開発用コマンドやテスト、自動整形など自由にカスタムできます。

Q. JSONの構文エラーってすぐ気づける?
A. VSCodeなどのエディタなら自動で構文エラーをチェックしてくれます。気楽にいきましょう。


まとめ

  • package.jsonはNode.jsプロジェクトの「設計図」兼「命令セット」
  • よく使うのは scripts, dependencies, devDependencies
  • npm runでスクリプトが簡単に実行できる
  • ライブラリの区分けがプロジェクトの安定性に直結する

最初はなんだか見慣れない書き方で戸惑うかもしれませんが、慣れてくると「このプロジェクト、こういう風に動くんだな〜」って読めるようになります。

ぜひ、一度じっくり読んでみて、package.jsonと仲良くなってください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

・IT業界5年~
未経験からエンジニア挑戦組。もともとは技術職、工場経験も有り。
〇現在はソフトウェア開発

・紹介したいこと
未経験→エンジニア挑戦でつまずいたこと、今更聞けない初歩的なこと、勉強していて良かったこと、暗黙的ルールによる落とし穴等

・趣味
ゲームはPC、SwitchでFPSだったりスローライフから様々やります。

コメント

コメントする

目次