Laravelでnpm install
を実行したとき、インストールされるモジュールはプロジェクトのルートディレクトリにある package.json
ファイルに定義されています。
package.json
ファイルの役割
- 依存関係の管理:
package.json
ファイルには、プロジェクトが必要とするNode.jsモジュール(ライブラリやツール)がリストされています。 - スクリプトの管理:
npm run dev
やnpm run build
などのカスタムスクリプトもこのファイルに定義されています。
インストールされるモジュールの場所
dependencies
またはdevDependencies
に定義されたモジュール
dependencies
: 本番環境でも必要なモジュール。devDependencies
: 開発中にのみ必要なモジュール(例: ビルドツールやテストツール)。 例:
{
"dependencies": {
"axios": "^1.4.0",
"lodash": "^4.17.21"
},
"devDependencies": {
"vite": "^4.2.1",
"laravel-vite-plugin": "^0.7.2"
}
}
npm install
を実行すると、これらのモジュールが node_modules
フォルダにインストールされます。
- バージョンの管理
各モジュールにはバージョン指定があり、^
や~
が使われることがあります:
^1.4.0
: メジャーバージョン(1.x.x)が一致する限り最新バージョンを使用。~1.4.0
: マイナーバージョン(1.4.x)が一致する限り最新バージョンを使用。
Laravelの典型的なpackage.json
例
以下はLaravelプロジェクトでよく見られるpackage.json
の例です:
{
"private": true,
"scripts": {
"dev": "vite",
"build": "vite build"
},
"dependencies": {
"axios": "^1.4.0",
"lodash": "^4.17.21"
},
"devDependencies": {
"vite": "^4.2.1",
"laravel-vite-plugin": "^0.7.2"
}
}
scripts
:npm run dev
やnpm run build
で実行されるコマンドを定義。dependencies
: フロントエンドで使用するライブラリ(例:axios
やlodash
)。devDependencies
: 開発用ツール(例:vite
やlaravel-vite-plugin
)。
補足
- 変更を反映させる:
package.json
に手動でモジュールを追加・変更した場合、npm install
を実行して変更を反映させます。 package-lock.json
:
モジュールの依存関係やバージョンをロックするためのファイルです。これにより、プロジェクトがどの環境でも同じバージョンのモジュールを使用します。