株式会社アルシエでは一緒に働く仲間を募集しています
こんにちは! 株式会社アルシエで教育に関するサポートをしている岸本です。
今回は「package.json」についてお伝えしていきます。
package.jsonとは
「package.json」とは、Node.jsプロジェクトで使用される、プロジェクトの設定や依存関係を管理するための重要なファイルです。
このファイルにはプロジェクトの情報やスクリプト、依存関係のバージョン情報などが含まれています。
package.json
の基本構造
{
"name": "my-node-app", // プロジェクト名
"version": "1.0.0", // プロジェクトのバージョン
"description": "My Node.js App", // プロジェクトの説明
"main": "index.js", // エントリーポイント
"scripts": {
"start": "node index.js", // サーバーの起動コマンド
"test": "jest", // テスト実行コマンド
"lint": "eslint .", // コードの静的解析
"build": "webpack" // プロダクションビルド
},
"dependencies": {
"express": "^4.17.1", // Expressフレームワーク
"axios": "^0.21.4" // HTTPクライアントライブラリ
},
"devDependencies": {
"jest": "^27.2.5", // テストランナー
"eslint": "^7.32.0", // ESLint
"webpack": "^5.59.1" // モジュールバンドラー
},
"engines": {
"node": ">=14.17.5" // サポート対象のNode.jsバージョン
},
"author": "Your Name", // プロジェクトの作者
"license": "MIT", // プロジェクトのライセンス
"repository": {
"type": "git",
"url": "https://github.com/yourusername/my-node-app.git" // リポジトリのURL
}
}
name
: プロジェクトの名前を指定します。必須項目です。version
: プロジェクトのバージョンを指定します。- private: パッケージ公開の有無
description
: プロジェクトの簡単な説明を提供します。main
: プロジェクトのエントリーポイント(通常はindex.js
など)を指定します。scripts
: ターミナルから実行可能なスクリプトの定義を含みます。例えば、サーバーの起動、テストの実行、コードの静的解析、プロダクションビルドなど。dependencies
: プロジェクトの実行に必要な本番用の依存関係(ライブラリ)を指定します。devDependencies
: 開発時にのみ必要な依存関係を指定します。テストランナー、静的解析ツール、モジュールバンドラーなどが含まれます。engines
: サポート対象のNode.jsバージョンを指定します。プロジェクトが正しく動作するNode.jsのバージョン範囲を指定します。author
: プロジェクトの作者または開発者の名前を提供します。license
: プロジェクトのライセンスを指定します。一般的なライセンスにはMIT、Apache、GPLなどがあります。repository
: プロジェクトのソースコードがホストされているリポジトリの情報を指定します。リポジトリのタイプとURLを含みます。
package.json
ファイルは、Node.jsプロジェクトの管理と協力に不可欠なファイルです。
依存関係のインストールやプロジェクトの設定の変更は、このファイルを介して行います。
npm
またはyarn
などのパッケージマネージャーを使用して、プロジェクトの依存関係をインストールしたり、スクリプトを実行したりする際に、package.json
ファイルは活用されます。
パッケージのインストール
・npm install パッケージ名
・npm i パッケージ名
開発環境でのみ利用するパッケージのインストール
・npm install パッケージ名 --save-dev
・npm install パッケージ名 -D
package.jsonの中身を理解することで、それぞれの開発に合ったパッケージ管理ができます。