目的
node.jsに必須なpackeage.json、packeage-lock.json、node_mudulesとは何かまとめる
packeage.json
パッケージ(=プロジェクト)の詳細が書かれたファイル
例) sampleというRailsプロジェクトのpackeage.json
packeage.json
{
"name": "sample",
"private": true,
"dependencies": {
"@rails/actioncable": "^6.0.0",
"@rails/activestorage": "^6.0.0",
"@rails/ujs": "^6.0.0",
"@rails/webpacker": "5.4.4",
"turbolinks": "^5.2.0",
"webpack": "^4.46.0",
"webpack-cli": "^3.3.12"
},
"version": "0.1.0",
"devDependencies": {
"webpack-dev-server": "^3"
}
}
name
パッケージの名前
version
パッケージのバージョン指定
description
パッケージの説明
main
そのパッケージをインストールする際に開始となるファイルを指定
scripts
コマンドのエイリアス(別名)を設定。npmだとrunで実行できる。
以下のように書いたとすると、
"scripts": {
"start": "next start"
}
この場合はnpm,yarnで以下のようにコマンドを実行できる。
npm run start
yarn start
author
パッケージの管理者
Dependencies
- 本番環境でそのパッケージを実行するのに必要なパッケージを記述する
- 何のパッケージを入れたいのか
- 個別にパッケージのインストール(npm install パッケージ名)をすると、自動でパッケージの情報が追記される。
devDependecies
- 開発やテストで使用する、そのパッケージ(プロジェクト)を実行するのに必要なパッケージを記述する。typescriptなど
private
公開設定。公開しない場合はtruenに設定。
repository
パッケージのソースコードを管理している場所ど設定
package.lock.json/yarn.lock
- パッケージのバージョンをロックするファイル
- 何のパッケージを入れたのかを自動的に記述される
- パッケージをインストールすると作成され、その後パッケージをインストールするたびに更新される(npm install)
- 依存関係にあるものを含め、ダウンロードしたすべてのパッケージのバージョンとその情報が管理されている
node_modulesフォルダ
- カレントディレクトリ配下にあり、カレントディレクトリにインストールされるモジュールの中身が配置されるフォルダ