たくさんの情報を見つけましたが、これについて明確な説明がありません。誰か説明してもらえますか?
少なくとも 2 つの利点があります:
他の人がすでに書いたコードを再利用します
パッケージの前に依存関係を管理
最初のポイントは明らかです。プロジェクトごとに jQuery や React のようなものを書くのではなく、他の人がすでに書いたものを直接使用します。従来の方法は、公式 Web サイトにアクセスして対応する js ファイルをダウンロードし、それをプロジェクトの対応するパス (/assets/js/ など) に配置します。そして現在では、npm や Yarn などを使用して、オープン アクセス パッケージの 99.9999% が 1 か所に集中して保存され、簡単に検索してダウンロードできるようになりました。以前はソフトウェアをダウンロードするためにどこにでも行かなければならなかったのと同じですが、360 Software Manager を使用すると、ここで検索してダウンロードするだけで済みます。多くの時間が失われます。
/assets/js/
2 番目のポイントは、実際には最初のポイントの発展版です。みんなが書いたパッケージがすべてここに置かれているからです。新しいパッケージを書きたい場合、その中にある小さなプログラムがたまたま他の人によって書かれていたので、それを使います。これは、私のパッケージが他の人のパッケージに依存していることを意味します。たとえば、大規模なライブラリ (パッケージ) の依存関係は複雑になる場合があります。たとえば、複数の他のパッケージに依存しているため、各パッケージは特定のバージョンに対応する必要があります (バージョンが違いすぎるため、依存関係が異なる可能性があります)。 API の非互換性の状態)。このように、各依存パッケージを手動でダウンロードすると、指数関数的なタスクになります:
A パッケージは B と C に依存し、C は D と E に依存し、B は F、G、H に依存し、D は I、J、K に依存します...
これは基本的に人間には完了できないタスクです。
もちろん、パッケージ マネージャーが存在する前は、これほど多くの他の人のパッケージに依存するパッケージを作成する人は誰もいませんでした。その結果、当然のことながら作業の重複が発生しました。各パッケージは、一般的に使用されるいくつかの機能を独自に実装していました。
今のところ思いつく用途は上記です。他にも思いついたら追加していきます。
関数を作成し、それを使用して作業を実行します
その仕事が終わったら、新しい仕事を始めます。 この関数が再び必要になり、改善する必要があります:
とても簡単です。コピーして貼り付け、zを追加するだけです
01 で add が 3 つのパラメーターを受け入れられるようにするために行った作業は、新しいバージョンです 库。 しかし、あなたは新しい仕事を受け取ったので、今回は改善を加える必要があります:
库
数え切れないほどの改善を行ってきました。 ある日、再び 00 の単純な加算関数が必要になったとき: ———— これまでに実行した 99 個のタスクのうち、以前のコードをゆっくりと確認します。 。 。 。それからそれをコピーします
これはとても面倒なことです。 。 。
パッケージマネージャーはこれらすべてのタスクを自動化します。 コードをパッケージ化して、参照を要求し、npm コマンドを使用してワンクリックでインストールできます (バージョンを指定することもできます)
繰り返しや面倒なことはプログラミングで解決します
少なくとも 2 つの利点があります:
他の人がすでに書いたコードを再利用します
パッケージの前に依存関係を管理
最初のポイントは明らかです。プロジェクトごとに jQuery や React のようなものを書くのではなく、他の人がすでに書いたものを直接使用します。従来の方法は、公式 Web サイトにアクセスして対応する js ファイルをダウンロードし、それをプロジェクトの対応するパス (
/assets/js/
など) に配置します。そして現在では、npm や Yarn などを使用して、オープン アクセス パッケージの 99.9999% が 1 か所に集中して保存され、簡単に検索してダウンロードできるようになりました。以前はソフトウェアをダウンロードするためにどこにでも行かなければならなかったのと同じですが、360 Software Manager を使用すると、ここで検索してダウンロードするだけで済みます。多くの時間が失われます。2 番目のポイントは、実際には最初のポイントの発展版です。みんなが書いたパッケージがすべてここに置かれているからです。新しいパッケージを書きたい場合、その中にある小さなプログラムがたまたま他の人によって書かれていたので、それを使います。これは、私のパッケージが他の人のパッケージに依存していることを意味します。たとえば、大規模なライブラリ (パッケージ) の依存関係は複雑になる場合があります。たとえば、複数の他のパッケージに依存しているため、各パッケージは特定のバージョンに対応する必要があります (バージョンが違いすぎるため、依存関係が異なる可能性があります)。 API の非互換性の状態)。このように、各依存パッケージを手動でダウンロードすると、指数関数的なタスクになります:
これは基本的に人間には完了できないタスクです。
もちろん、パッケージ マネージャーが存在する前は、これほど多くの他の人のパッケージに依存するパッケージを作成する人は誰もいませんでした。その結果、当然のことながら作業の重複が発生しました。各パッケージは、一般的に使用されるいくつかの機能を独自に実装していました。
今のところ思いつく用途は上記です。他にも思いついたら追加していきます。
00
関数を作成し、それを使用して作業を実行します
リーリー01
その仕事が終わったら、新しい仕事を始めます。 この関数が再び必要になり、改善する必要があります:
リーリーとても簡単です。コピーして貼り付け、zを追加するだけです
02
01 で add が 3 つのパラメーターを受け入れられるようにするために行った作業は、新しいバージョンです
リーリー库
。しかし、あなたは新しい仕事を受け取ったので、今回は改善を加える必要があります:
99
数え切れないほどの改善を行ってきました。 ある日、再び 00 の単純な加算関数が必要になったとき:
———— これまでに実行した 99 個のタスクのうち、以前のコードをゆっくりと確認します。 。 。 。それからそれをコピーします
これはとても面倒なことです。 。 。
パッケージマネージャーはこれらすべてのタスクを自動化します。 コードをパッケージ化して、参照を要求し、npm コマンドを使用してワンクリックでインストールできます (バージョンを指定することもできます)
繰り返しや面倒なことはプログラミングで解決します