package.jsonとpackage-lock.jsonの違い


package.json:
通過する npm init コマンドの作成は、主にこのプロジェクトに必要な各種モジュールを定義するためのものであり、項目の設定情報(名称、バージョン、ライセンスなどのメタデータ)も含まれます.npm install コマンドは、この設定ファイルに基づいて、必要なモジュールを自動的にダウンロードします.つまり、設定項目の実行と開発環境です.
 
package-lock.json:
npm installで 時に自動的に生成され、現在の状態で実際にインストールされている各npm packageの具体的なソースとバージョン番号を記録します.
package.jsonとの違いは、
"devDependencies": {
    "webpack": "^1.12.13",
    "webpack-dev-server": "^1.14.1"
  }
ここの^上向きの番号は後方互換性を定義しています.もしwebpackバージョンが1.12.13を超えていたら、大きなバージョン(1)で同じです.最新のwebpackパッケージをダウンロードできます.同じ大きなバージョンの異なるバージョン番号の間に違いがあり、ライブラリに依存する挙動の特徴が互換性がない場合があります.
そこでnpm最新バージョンは、Package-lock.json機能を自動的に生成し始めました.目的はすべてのパッケージが前回インストールされたのと同じです.
package.jsonファイルは大きいバージョンしかロックできません.つまりバージョン番号の第一位は後ろのバージョンをロックできません.npm installの時に取ったこの大きいバージョンの下の最新バージョンです.子供靴の中には前に似たような穴を踏んだことがあるかもしれません.
普通は安定性のために、私達は勝手にカバンに依存してアップグレードすることができません.カバンを交換すると互換性のあるバグが出てきて、検査が難しいです.だから、package-lock.jsonはカバンのロックがアップグレードしない問題を解決します.
もしパッケージをアップグレードするなら、どうやって操作しますか?
npm [email protected]