プロジェクトを作成するディレクトリでnpm initを実行してpackage.jsonを作成します。対話形式で作成しますが何も入力せずEnterキーで進めていくと全てデフォルトの設定になります。-yオプションを指定すれば対話形式を省略できます。
npm init -y
デフォルトの設定で作成したpackage.jsonです。
{
"name": "test", //プロジェクトのディレクトリ名
"version": "1.0.0",
"description": "",
"main": "index.js", //エントリポイント(起点となるファイル)
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1" //testコマンド
},
"keywords": [],
"author": "",
"license": "ISC"
}
package.jsonの作成でパッケージをインストールする準備(初期化)ができました。「npm install パッケージ名」でパッケージをインストールします。オプションを指定しなければ--save-prodオプション(本番環境用)を指定したのと同じになります。今回はjqueryのパッケージをインストールします。
npm install jquery
実行が完了するとプロジェクトのディレクトリにnode_modulesというディレクトリが作成され、その中にパッケージ(jquery)がインストールされます。プロジェクトのディレクトリにはpackage-lock.jsonが追加されます。また、package.json内のdependenciesフィールドにインストールしたパッケージが追加されます。
{
"dependencies": {
"jquery": "^3.5.1"
}
}
dependenciesフィールドは本番環境用の設定です。開発環境用の設定にする場合はパッケージのインストール時に--save-devオプションを指定します。
npm install --save-dev jquery
実行が完了するとpackage.json内のdevDependenciesフィールドにインストールしたパッケージが追加されます。
{
"devDependencies": {
"jquery": "^3.5.1"
}
}
devDependenciesフィールドは開発環境用の設定です。プロジェクトを複製してpackage.jsonを使用する場合、npm installの実行時に--productionオプションを指定するとdevDependenciesフィールドのパッケージはインストールされません。オプションを指定しなければdevDependenciesフィールドのパッケージもインストールされます。





