プログラミング勉強日記
2020年10月7日
package.jsonをよくわかっていないままnpmを使ってインストールしてたので、この機会に構造を学ぶ。
package.jsonとは
依存関係を示したファイルで、このファイルにプロジェクトに必要なパッケージの名前とバージョンを記述すればnpmが必要なパッケージをインストールする。
package.jsonはnode環境のアプリの設定が書かれたファイルみたいなもので、Bundlerのようなもので、開発に使う依存ライブラリと本番で使う依存ライブラリを書くことができる。
(RailsのGemfileみたいなものなのかな、、?こちらの記事でRailsのGemfileやGemfile.lockについて扱ってます)
構造
デフォルトの構造
{"name":"express-app","version":"1.0.0","description":"","main":"index.js","scripts":{"test":"echo \"Error: no test specified\"&& exit 1"},"keywords":[],"author":"","license":"ISC"}
これをもとに1つ1つ見ていく。
名前 | 説明 |
---|---|
name | アプリ名。それ以外に特に意味はない値。 |
version | アプリのバージョン。更新したら数値を自分で手動で変える。 |
description | アプリの説明。それ以外に特に意味はない値。 |
main | npm run ~で起点となるファイル。明示的に使用する場合が殆どなのであまり利用しない。 |
scripts | npm経由でプログラムを実行してくれる仕組み。| |
keywords | npmパッケージハブにアップした際の検索に利用。アップしないなら特に意味はない。 |
author | アプリ制作者。アップしないなら必要ない。 |
license | ソフトウェア・ライセンスを記載。アップしないなら必要ない。 |
おまけ
expressやmongodbなどをインストールすると以下のようになる。
{"name":"express","version":"1.0.0","description":"","main":"index.js","scripts":{"test":"echo \"Error: no test specified\"&& exit 1"},"author":"","license":"ISC","dependencies":{"body-parser":"^1.19.0","express":"^4.17.1","moment":"^2.29.0","mongodb":"^3.6.2","mongoose":"^5.10.7"}}
npmを使ってインストールするとき
npmを使ってインストールするときに、最後に--save
を付けるとpackage.jsonに書き込みされる。package.jsonに書き込むことで、他のパソコンにプロジェクトを送った時にnpm install
のコマンドを入力するだけで、package.jsonに記述されたものがすべてインストールされるので便利。