NodeJSのモジュール化②(npmとパッケージ)

バッグ

Node.jsのサードパーティモジュールは。とも呼ばれます。

コンピューターとコンピューターが同じものを指すように、サードパーティのモジュールとパッケージは同じ概念を参照しています、ただし名前が異なります。

Node.jsの組み込みモジュールやカスタムモジュールとは異なり、パッケージはサードパーティの個人またはチームによって開発され、誰でも無料で使用できます。

なぜバッグが必要なのですか?
Node.jsの組み込みモジュールは一部の低レベルAPIしか提供しないため、組み込みモジュールに基づくプロジェクト開発の効率は非常に低くなります。
パッケージは、組み込みモジュールに基づいてカプセル化されますは、より高度で便利なAPIを提供し、開発効率を大幅に向上させます。
パッケージと組み込みモジュールの関係は、jQueryとブラウザの組み込みAPIの関係に似ています。

パッケージのダウンロード

海外にはnpm、IncというIT会社があります。この会社には非常に有名なウェブサイトがあります。https://www.npmjs.com/は世界最大のパッケージ共有プラットフォームです。このウェブサイトから検索して、任意のパッケージを見つけることができます。あなたが十分な忍耐力を持っている限り、必要です!

npm、Inc.は、すべてのパッケージを外部で共有するためにhttps://registry.npmjs.org/のアドレスを持つサーバーを提供しています。このサーバーから必要なパッケージをダウンロードできます。

https://www.npmjs.com/ Webサイトから必要なパッケージを検索し、
https://registry.npmjs.org/サーバーから必要なパッケージをダウンロードします。

npm、Inc.はパッケージ管理ツールを提供しています。このパッケージ管理ツールを使用して、https://registry.npmjs.org/サーバーからローカルで使用するために必要なパッケージをダウンロードできます。
このパッケージ管理ツールの名前はNodePackageManager(略してnpmパッケージ管理ツール)であり、このパッケージ管理ツールはNode.jsインストールパッケージと一緒にユーザーのコンピューターにインストールされます。

ターミナルでnpm-vコマンドを実行して、コンピューターにインストールされているnpmパッケージ管理ツールのバージョン番号を確認できます。

npmの使用

ここでは、フォーマット時間を例として取り上げ
ます。サードパーティのパッケージを使用しない場合でも、時間をフォーマットするのは少し面倒です。
フォーマットモジュールを自分で作成する必要があります。

// 1. 定义格式化时间的方法
function dateFormat(dtStr) {
    
    
  const dt = new Date(dtStr)

  const y = dt.getFullYear()
  const m = padZero(dt.getMonth() + 1)
  const d = padZero(dt.getDate())

  const hh = padZero(dt.getHours())
  const mm = padZero(dt.getMinutes())
  const ss = padZero(dt.getSeconds())

  return `${
      
      y}-${
      
      m}-${
      
      d} ${
      
      hh}:${
      
      mm}:${
      
      ss}`
}

// 定义补零的函数
function padZero(n) {
    
    
  return n > 9 ? n : '0' + n
}

module.exports = {
    
    
  dateFormat
}

サードパーティのパッケージを使用する場合:
①npmパッケージ管理ツールを使用して、プロジェクトに時間形式のパッケージモーメントをインストールします②require
()を使用して、時間形式のパッケージをインポートします
③フォーマットする瞬間の公式APIドキュメントを参照してください時間

プロジェクトにパッケージをインストールするコマンド

指定した名前のパッケージをプロジェクトにインストールする場合は、次のコマンドを実行する必要があります。

npm install 包的完整名称

上記のパッケージ化コマンドは、次のように省略できます。

npm i 包的完整名称

次に、時間の書式設定を完了するために必要なコードは数行だけです。

// 1. 导入需要的包
// 注意:导入的名称,就是装包时候的名称
const moment = require('moment')

const dt = moment().format('YYYY-MM-DD HH:mm:ss')
console.log(dt)

パッケージのAPIドキュメントは、https://www.npmjs.com/で検索できます。

最初のパッケージ化後に追加されるファイル

最初のパッケージ化が完了すると、node_modulesという追加のフォルダーと、プロジェクトフォルダーの下にpackage-lock.jsonの構成ファイルがあります。

それらの中で:
node_modulesフォルダーは、プロジェクトにインストールされたすべてのパッケージを格納するために使用されます。require()がサードパーティのパッケージをインポートすると、このディレクトリからパッケージを見つけてロードします。
package-lock.json構成ファイルは、パッケージ名、バージョン番号、ダウンロードアドレスなど、各パッケージのダウンロード情報をnode_modulesディレクトリに記録するために使用されます。

次の図は、Momentパッケージをインストールした後のpackage-lock.json構成ファイルの外観です。
ここに画像の説明を挿入

注:プログラマーは、node_modulesまたはpackage-lock.jsonファイルのコードを手動で変更しないでください。これらはnpmパッケージ管理ツールによって自動的に維持されます。

指定されたバージョンのパッケージをインストールします

デフォルトでは、npm installコマンドを使用してパッケージをインストールすると、パッケージの最新バージョンが自動的にインストールされます。パッケージの特定のバージョンをインストールする必要がある場合は、パッケージ名の後に@記号を付けて特定のバージョンを指定できます。次に例を示します。
ここに画像の説明を挿入

パッケージのセマンティックバージョニング仕様

パッケージのバージョン番号は「ドット付き10進数」の形式で定義され、2.24.0のように合計3桁で、
各桁は次のように意味を表します
。1桁目:メジャーバージョン
2桁目:機能バージョン
3rd数字:バグ修正バージョン

バージョン番号の昇格のルール:前のバージョン番号が増加する限り、後者のバージョン番号はゼロになります。

パッケージ管理構成ファイル

npmは、プロジェクトのルートディレクトリに、package.jsonというパッケージ管理構成ファイルを提供する必要があることを規定しています。プロジェクトに関連するいくつかの構成情報を記録するために使用されます。例えば:

  • プロジェクト名、バージョン番号、説明など。
  • プロジェクトで使用されているパッケージ
  • 開発中にのみ使用されるパッケージ
  • これらのパッケージは、開発と展開の両方に必要です

複数人のコラボレーションの問題

ここに画像の説明を挿入

プロジェクト全体のボリュームは30.4Mです。
サードパーティパッケージのボリュームは28.8Mです。
プロジェクトのソースコードのボリュームは1.6Mです。

このことから、サードパーティパッケージのボリュームが大きすぎることがわかります。これは、チームメンバーがプロジェクトのソースコードを共有するのに不便です。

したがって、共有する場合はnode_modulesを削除する必要があり、これらのサードパーティパッケージはメンバーがダウンロードできるようにする必要があります。

では、プロジェクトの他のメンバーに、このプロジェクトにインストールされているサードパーティのパッケージをどのように知らせるのでしょうか。

プロジェクトにインストールされているパッケージを記録する方法

プロジェクトのルートディレクトリに、package.jsonという構成ファイルを作成します。このファイルを使用して、プロジェクトにインストールされているパッケージを記録できます。これにより、node_modulesディレクトリを削除した後、プロジェクトのソースコードをチームメンバー間で簡単に共有できます。

注:将来のプロジェクト開発では、必ずnode_modulesフォルダーを.gitignoreignoreファイルに追加してください。

package.jsonをすばやく作成する

npmパッケージ管理ツールは、コマンドが実行されるディレクトリにpackage.jsonパッケージ管理構成ファイルをすばやく作成するためのショートカットコマンドを提供します。
ここに画像の説明を挿入

知らせ:

  • 上記のコマンドは、英語のディレクトリでのみ正常に実行できます。したがって、プロジェクトフォルダの名前は中国語ではなく英語で指定する必要があり、スペースを表示することはできません。
  • npm installコマンドを実行してパッケージをインストールすると、npmパッケージ管理ツールはパッケージ名とバージョン番号をpackage.jsonに自動的に記録します
  • プロジェクトの開始時にこのファイルを作成する必要があります。このコマンドを入力する必要があるのは、最初から最後まで1回だけです。

依存関係ノード


package.jsonファイルには、npminstallコマンドを使用してインストールしたパッケージの記録専用の依存関係ノードがあります。

パッケージがインストールされていない場合、依存関係ノードはありません

ここに画像の説明を挿入

すべてのパッケージを一度にインストールします

node_modulesが削除されたプロジェクトを取得したら、プロジェクトを実行する前に、すべてのパッケージをプロジェクトにダウンロードする必要があります。そうしないと、次のようなエラーが報告されます。
ここに画像の説明を挿入

npm installコマンドを実行する(またはnpm i)すべての依存関係を一度にインストールすることができます:
ここに画像の説明を挿入

パッケージをアンインストールします

npm uninstallコマンドを実行して、指定したパッケージをアンインストールできます。
ここに画像の説明を挿入

注:アンインストールパッケージは、コマンドとして省略できません

npm installコマンドが正常に実行されると、アンインストールされたパッケージはpackage.jsonの依存関係から自動的に削除されます。

devDependenciesノード

一部のパッケージがプロジェクト開発フェーズでのみ使用され、プロジェクトの起動後に使用されない場合は、これらのパッケージをdevDependenciesノードに記録することをお勧めします。同様に、開発およびプロジェクトの起動後に一部のパッケージを使用する必要がある場合は、これらのパッケージを依存関係ノードに記録することをお勧めします。

次のコマンドを使用して、パッケージをdevDependenciesノードに記録できます。

ここに画像の説明を挿入

どのノードに入れるかわからない場合は、公式Webサイトでパッケージをダウンロードすると、どのノードに保存するかを確認するメッセージが表示されます。

おすすめ

転載: blog.csdn.net/zyb18507175502/article/details/124293236