Programming Self-Study Notebook

勉強したことを忘れないように! 思い出せるように!!

「package.json」って何?って時に少し調べた時のノート

f:id:overworker:20200927105912p:plain:h150


「package.json」「package-lock.json」について少し調べてみました。

公式サイト

package.jsonとは?

イメージ

  • package.json=買うものリスト
  • 最低限の条件が記載されている
    • 再現性が無い
      • 実際に何がインストールされるかは分からない
      • 時期により結果が変わる可能性がある

詳細

  • アプリが依存するパッケージに関する情報を記録するのに使用するファイル
  • JSON形式で各種の設定を記述する

    必須項目

    項目 説明
    name属性 アプリ/モジュールの名称
    version属性 バージョン
  • 自作のモジュールなどを配布する際には、この二つの属性が識別子となる

package.jsonを作成する

  • プロジェクトのルートディレクトリで「npm init」コマンドを実施する

package.jsonにパッケージを追加する

  • dependencies属性にプロジェクトが依存するパッケージを追加する
    • npm install パッケージ名 --saveを実行
  • devDependencies属性に、プロジェクトが依存するパッケージを追加するには
    • npm install パッケージ名 --save-devを実行

package.jsonテキストエディターで開き、直接編集しても良い。

package-lock.jsonとは?

イメージ

  • package-lock.json=実際に買ってきた領収書

詳細

  • package.jsonに従いインストールしたパッケージとバージョンの情報が記載してある。
    • 再現性がある

      • 環境を統一する際に有効
    • package.jsonpackage-lock.jsonは、両方ともnpm installに利用することができます。

      • 両方が存在するときは、package-lock.jsonが優先されるようです。

package-lock.jsonを作成する

  • npm installを実行すると作成される。