NPMとpackage.jsonについて調べたこと(その周辺の用語も)


勉強したことの備忘録としてメモしているので間違っているところがあればぜひご指摘ください!

npmには2種類ある

  1. オンライン上のパッケージレジストリ
  2. Node.jsに付属している、パッケージを操作するためのCLI(コマンドラインインターフェース)
  • Node.jsのプロジェクトにはnpmのパッケージ1こに対応する。
    ➡︎プロジェクト一つ開発するということはパッケージを一つ作り上げる

  • npmに取ってパッケージは、package.jsonというファイルの親ディレクトリに含まれるファイル群。

npmとは

Node Package Managerの略で、JavaScriptライブラリのパッケージマネージャー。Node.js用のパッケージ管理ツール。npmプロジェクトの情報管理しているのが、package.json。

パッケージマネージャーとは

コンピューターに何のソフトウェアがインストールされたかを記録し、新しいソフトウェアのインストール・新しいバージョンへのソフトウェアの更新・以前インストールしたソフトウェアの削除を容易に行えるようにするプログラム。
元サイト

パッケージとは

ファイル群を一つにし、インストールや削除をまとめてできるようにしたもの。多くの場合、パッケージはある特定のプログラムにすぎない。

package.jsonとは?

  • 空のpackage.jsonを作ったり、npm init コマンドで作成できる

package.jsonに書かれている内容

  1. script
  2. dependencies
  3. devDependencies

1.はnpm initで作成した直後のpackage.jsonに含まれているが、他はライブラリをインストールした時に追加される項目

scriptについて

これはコマンドショートカットで記述できる。
役割は、実行するコマンドの内容を指定した値でセットすること。

ex)scriptプロパティの中で、"start":"node index.js"と記述すると、node index.jsというコマンドをnpm start もしくはnpm run startで実行できる。

dependenciesとdevDependenciesについて

  • どちらも依存ライブラリを管理する。
  • dependenciesは「サービスを動かす上で必要なライブラリ」を管理している
  • devDependenciesは「開発効率をあげるツールや、保守運用に役立つツール」など、直接サービスを動かす上では必要ではないが、あると便利なツールを管理する。

参考サイト