ノード内のnpmはインストール順序に依存、package-lock.jsonファイルの詳細説明

前提知識: package.json と package-lock.json の基本的な知識と使用法を理解する必要があります。この記事を参照してください。

npm に依存するインストールのロジックと順序については、この記事を参照してください。

理論を読んだ後、実際のプロジェクトを見てみましょう。上記の記事で説明したロジックは、npm インストール後の package-lock.json ファイルに表示されます。

予備知識

1. npm2 と npm3 の違いは何ですか?

あはは、あまり考えないでください。これは実際には npm のバージョン番号です。npm2 は npm の 2.xx バージョン、npm3 は npm の 3.xx バージョンです。npm2 から npm3 への大きな変更があります。上記の記事で述べたように、2 -> 3 は非常に重要な境界線であるため、コアのロジックはあまり変わっていないため、npm4、npm5 などはあまり見られません。 . .

npm と node のバージョンは両方に対応しています。nodeの公式 Web サイトを参照してください。私たちのプロジェクトでは、node のバージョンについてよく話題になりますので、npm のバージョンに詳しくないのは普通のことです。

さて、package-lock.json ファイルの研究を続けましょう。公式ドキュメントをご覧ください

npm のバージョンごとにロック ファイルの特定のフィールドは異なりますが、似ており、キー [依存関係] の意味と構造を知ることができます。 

 プロジェクト package.json 内にパッケージが 1 つだけあり、このパッケージにサブ依存関係がないと仮定すると、インストール後は非常に簡単です。

vue パッケージなどの複雑なものを見てみましょう。

 一つずつ簡単に見ていきましょう

1 つ目は、サブ依存関係のないパッケージです。これはインストールするのが明らかです。

2 番目のタイプは、サブ依存関係を持つ @vue/compiler-dom です。これは、サブ依存関係 [例: @vue/compiler-core] を削除し、それらを @vue/compiler-dom と同じレベルに置きます。上記の記事npm2 に対する npm3最適化により、同じ依存関係の繰り返しのインストールが回避されます。なんともシンプルですね。

 

まとめると、公式ドキュメントを読めるようになる必要があります、例えば、nodeやnpmの公式サイトには馴染みのない知識が多く含まれているため、英語版の公式サイトに注意してください。

Node.js Node.js® は、Chrome の V8 JavaScript エンジン上に構築された JavaScript ランタイムです。https://nodejs.org/en npm Docs npm レジストリ、Web サイト、コマンドライン インターフェイスのドキュメントhttps://docs.npmjs.com/

 

おすすめ

転載: blog.csdn.net/qq_17335549/article/details/130348630