Node.js NPM チュートリアル: モジュールを作成、拡張、公開する方法
Node.js モジュール
Node.js のモジュールは、コードを XNUMX つの単位に論理的にカプセル化したものです。 将来の目的のために管理しやすく、保守しやすい方法でコードを常に分離することは、常に良いプログラミング手法です。 そこで Node.js のモジュールが活躍します。
各モジュールは、独自のカプセル化された機能を備えた独立したエンティティであるため、別個の作業単位として管理できます。
Node.jsのモジュールとは何ですか?
前述したように、Node js のモジュールはコードを別の論理ユニットにカプセル化する方法です。 Node js 内で使用できる既製のモジュールが市場で数多く入手可能です。
以下は、Node.js アプリケーションで使用される一般的なモジュールの一部です。
- Expressフレームワーク – Express は、Web および Web 向けの堅牢な機能セットを提供する、最小限で柔軟な Node js Web アプリケーション フレームワークです。 モバイル 分野の様々なアプリケーションで使用されています。
- socket.io – Socket.IO により、リアルタイムの双方向のイベントベース通信が可能になります。 このモジュールは、チャットベースのアプリケーションの作成に適しています。
- ジェイド – Jade は高性能のテンプレート エンジンであり、次のように実装されています。 Javaスクリプト ノードとブラウザ用。
- MongoDB - MongoDB Node.js ドライバーは、正式にサポートされている node.js ドライバーです。 MongoDB.
- 再確認 –restify は、REST API を構築するための Express に似た軽量フレームワークです。
- 青い鳥 – Bluebirdは革新的な機能とパフォーマンスに重点を置いたフル機能のPromiseライブラリです
Node.js でのモジュールの使用
モジュールを使用するには Node.js アプリケーションを使用するには、まず Node パッケージ マネージャーを使用してインストールする必要があります。
以下のコマンドラインは、モジュール「express」をインストールする方法を示しています。
npm インストール エクスプレス
- 上記のコマンドは、「エクスプレス モジュール」を含む必要なファイルをダウンロードし、インストールも処理します。
- モジュールがインストールされたら、Node.js アプリケーションでモジュールを使用するには、「require」キーワードを使用する必要があります。 このキーワードは、Node.js がモジュールの機能をアプリケーションに組み込むために使用する方法です。
「require」キーワードの使用例を見てみましょう。 以下の「Guru99」コード例は、require 関数の使用方法を示しています。
var express=require('express'); var app=express(); app.set('view engine','jade'); app.get('/',function(req,res) { }); var server=app.listen(3000,function() { });
- 最初のステートメント自体では、「require」キーワードを使用して Express モジュールを含めています。 「express」モジュールは、最適化されたモジュールです。 Javaスクリプト Node.js開発用のライブラリ。 これは、最も一般的に使用される Node.js モジュールの XNUMX つです。
- モジュールを組み込んだ後、モジュール内の機能を使用するには、オブジェクトを作成する必要があります。 ここでExpressモジュールのオブジェクトが作成されます。
- 「require」コマンドを使用してモジュールがインクルードされ、「オブジェクト」が作成されると、Express モジュールの必要なメソッドを呼び出すことができます。 ここでは、set コマンドを使用してビュー エンジンを設定しています。このビュー エンジンは、Node.js で使用されるテンプレート エンジンを設定するために使用されます。
- ここでは listen to メソッドを使用して、アプリケーションが特定のポート番号で listen するようにしています。
注: - (読者の理解のために言っておくと、テンプレート エンジンは、データ ファイルからデータを取得してアプリケーションに値を挿入するアプローチです。この概念は Angular JS では非常に有名で、中括弧 {{ key }} を使用して Web ページで値を置き換えます。中括弧内の「key」という単語は基本的に、ページが表示されるときに値に置き換えられる変数を表します。)
NPM モジュールを作成する方法
Node.js にはカスタム モジュールを作成する機能があり、それらのカスタム モジュールを Node.js アプリケーションに含めることができます。
独自のモジュールを作成し、そのモジュールをメイン アプリケーション ファイルに含める方法の簡単な例を見てみましょう。このモジュールは、2 つの数値を加算するという単純なタスクを実行します。
以下の手順に従って、モジュールを作成してアプリケーションに組み込む方法を見てみましょう。
以下はNPMモジュールを作成する手順です。
ステップ1) ファイルを作成し、コードの下に貼り付けます
「Addition.js」というファイルを作成し、以下のコードを含めます。 このファイルにはモジュールのロジックが含まれます。
以下は、このファイルに挿入されるコードです。
var exports=module.exports={}; exports.AddNumber=function(a,b) { return a+b; };
- 「exports」キーワードは、このファイルで定義された機能が他のファイルから実際にアクセスできることを保証するために使用されます。
- 次に、「AddNumber」という関数を定義します。 この関数は、a と b の 2 つのパラメーターを取るように定義されています。 この関数はモジュール「exports」に追加され、他のアプリケーションモジュールからアクセスできるパブリック関数として作成されます。
- 最後に、関数がパラメータの追加値を返すようにします。
これで、2 つの数値を加算する機能を持つカスタム モジュールが作成されました。次は、このモジュールを呼び出すアプリケーションを作成します。
次のステップでは、カスタム モジュールを呼び出すアプリケーションを実際に作成する方法を見ていきます。
ステップ2) アプリケーションファイルを作成する
メインアプリケーションファイルである「app.js」というファイルを作成し、以下のコードを追加します。
var Addition=require('./Addition.js'); console.log(Addition.AddNumber(1,2));
- 「require」キーワードを使用して、Addition.js ファイルに機能を含めています。
- Addition.js ファイル内の関数にアクセスできるようになったので、AddNumber 関数を呼び出すことができます。関数では、2 つの数値をパラメーターとして渡しています。その後、コンソールに値を表示します。
出力:
- app.js ファイルを実行すると、コンソール ログに値 3 の出力が表示されます。
- この結果は、Addition.js ファイル内の AddNumber 関数が正常に呼び出され、戻り値 3 がコンソールに表示されたためです。
注意: – 現時点では、Addition.js モジュールのインストールに「Node package manager」を使用していません。 これは、モジュールがローカル マシン上のプロジェクトの一部になっているためです。 Node パッケージ マネージャーは、モジュールをインターネット上に公開するときに登場します。これについては、次のトピックで説明します。
Node.js でのモジュールの拡張
モジュールを作成するとき、あるモジュールを別のモジュールから拡張または継承することもできます。
現代のプログラミングでは、共通モジュールのライブラリを構築し、必要に応じてこれらの共通モジュールの機能を拡張することが非常に一般的です。
Node.js でモジュールを拡張する方法の例を見てみましょう。
ステップ1) 基本モジュールを作成します。
この例では、「Tutorial.js」というファイルを作成し、以下のコードを配置します。
このコードでは、コンソールに文字列を返す関数を作成しているだけです。 返される文字列は「Guru99 Tutorial」です。
var exports=module.exports={}; exports.tutorial=function() { console.log("Guru99 Tutorial") }
- エクスポート モジュールは、このファイルで定義されている関数を Node.js の他のモジュールで使用できるようにするために使用されます。
- 他のNode.jsモジュールでも利用できるtutorialという関数を作成しています。
- この関数が呼び出されたときに、コンソールに「Guru99 Tutorial」という文字列が表示されます。
これで、Tutorial.js という基本モジュールが作成されました。 この基本モジュールを拡張する別のモジュールを作成します。
次のステップでこれを行う方法を検討します。
ステップ2) 次に、拡張モジュールを作成します。 「NodeTutorial.js」という名前の新しいファイルを作成し、そのファイルに以下のコードを配置します。
var Tutor=require('./Tutorial.js'); exports.NodeTutorial=function() { console.log("Node Tutorial") function pTutor() { var PTutor=Tutor PTutor.tutorial(); } } Or var Tutor=require('./Tutorial.js'); exports.NodeTutorial=function() { console.log("Node Tutorial") this.pTutor = function () { var PTutor=Tutor PTutor.tutorial(); } }
上記のコードに関する以下の重要な点に注意してください
- 新しいモジュールファイル自体で「require」関数を使用しています。 既存のモジュールファイル「Tutorial.js」を拡張するので、拡張する前にまずこれをインクルードする必要があります。
- 次に、「Nodetutorial」という関数を作成します。 この関数は 2 つのことを行います。
- 「Node Tutorial」という文字列がコンソールに送信されます。
- 文字列「Guru99 Tutorial」をベースモジュール「Tutorial.js」から拡張モジュール「NodeTutorial.js」に送信します。
- ここでは、「Node Tutorial」への文字列をコンソールに送信する最初のステップを実行しています。
- 次のステップでは、チュートリアル モジュールから関数を呼び出します。これにより、文字列「Guru99 Tutorial」が console.log に出力されます。
ステップ3) メインのアプリケーション ファイルであるメインの app.js ファイルを作成し、以下のコードを含めます。
var localTutor=require('./NodeTutorial.js'); localTutor.NodeTutorial(); localTutor.NodeTutorial.pTutor(); Or use this code var tut = new localTutor.NodeTutorial(); // Create and save object tut.pTutor(); // Call function on object
上記のコードは次のことを行います。
- メインのアプリケーション ファイルは「NodeTutorial」モジュールと呼ばれるようになりました。
- 「NodeTutorial」関数を呼び出しています。この関数を呼び出すと、コンソールログに「Node Tutorial」というテキストが表示されます。
- Tutorial.js モジュールを拡張し、pTutor という関数を公開しました。この関数は Tutorial.js モジュール内のチュートリアル モジュールも呼び出し、コンソールに「Guru99 Tutorial」というテキストも表示されます。
出力:
上記のapp.jsコードをNodeで実行したので、console.logファイルに次の出力が表示されます。
- ノードのチュートリアル
- Guru99チュートリアル
NPM (ノード パッケージ マネージャー) パッケージの公開
自分のモジュールを自分のサイトに公開できる Github リポジトリ。
モジュールを中央の場所に公開すると、モジュールを必要とするすべてのマシンに自分でインストールする必要がなくなります。
代わりに、npm の install コマンドを使用して、公開された npm モジュールをインストールできます。
npmモジュールを公開するには、次の手順に従う必要があります。
ステップ1) GitHub (オンライン コード リポジトリ管理ツール) にリポジトリを作成します。 コード リポジトリをホストするために使用できます。
ステップ 2) ローカルの npm インストールに、自分が誰であるかを伝える必要があります。つまり、このモジュールの作成者が誰であるか、電子メール ID は何か、この ID に関連付ける必要のある利用可能な会社の URL は何かを npm に伝える必要があります。これらの詳細はすべて、npm モジュールが公開されたときに追加されます。
以下のコマンドは、npm モジュールの作成者の名前、電子メール、URL を設定します。
npm set init-author-name “Guru99.”
npm で著者のメールアドレスを「guru99@gmail.com」に設定します
npm で init-author-url を “http://Guru99.com” に設定します。
ステップ3) 次のステップでは、最後のステップで指定した資格情報を使用して npm にログインします。 ログインするには、以下のコマンドを使用する必要があります
npm login
ステップ4) パッケージを初期化する – 次のステップでは、パッケージを初期化して package.json ファイルを作成します。 これは、以下のコマンドを発行することで実行できます。
npm init
上記のコマンドを実行すると、いくつかの質問が表示されます。 最も重要なのは、モジュールのバージョン番号です。
ステップ5) GitHub に公開 – 次のステップは、ソース ファイルを GitHub に公開することです。 これは、以下のコマンドを実行することで実行できます。
git add. git commit -m "Initial release" git tag v0.0.1 git push origin master --tags
ステップ6) モジュールを公開する – 最後の部分は、モジュールを npm レジストリに公開することです。 これは以下のコマンドで実行できます。
npm publish
npm を使用したサードパーティのパッケージの管理
これまで見てきたように、「Node パッケージ マネージャー」には、Node.js アプリケーションに必要なモジュールを管理する機能があります。
モジュールを管理するためにノード パッケージ マネージャーで利用できる機能のいくつかを見てみましょう
- グローバル モードでのパッケージのインストール – モジュールはグローバル レベルでインストールできます。これは基本的に、これらのモジュールがローカル マシン上のすべての Node.js プロジェクトで使用できることを意味します。 以下の例は、グローバル オプションを使用して「エクスプレス モジュール」をインストールする方法を示しています。npm install Express –global 上記のステートメントのグローバル オプションにより、モジュールをグローバル レベルでインストールできるようになります。
- ローカル マシンにインストールされているすべてのグローバル パッケージを一覧表示します。 これは、コマンドプロンプトで以下のコマンドを実行することで実行できます。npm リスト –グローバル以下は、以前にシステムに「エクスプレス モジュール」をインストールした場合に表示される出力です。ここでは、ローカル マシンにインストールされているさまざまなモジュールを確認できます。
- 特定のバージョンのパッケージのインストール – 場合によっては、特定のバージョンのパッケージのみをインストールする必要がある場合があります。 パッケージ名とインストールする必要がある関連バージョンがわかったら、npm install コマンドを使用してその特定のバージョンをインストールできます。以下の例は、underscore というモジュールを特定のバージョンの 1.7.0npm install でインストールする方法を示しています。 アンダースコア@1.7.0
- パッケージ バージョンの更新 – システム内に古いバージョンのパッケージがあり、市場で入手可能な最新バージョンに更新したい場合があります。 これを行うには、npm update コマンドを使用できます。 以下の例は、アンダースコア パッケージを最新バージョンに更新する方法を示しています。npm update アンダースコア
- 特定のパッケージの検索 – 特定のバージョンがローカル システムで使用可能かどうかを検索するには、npm の検索コマンドを使用できます。以下の例では、express モジュールがローカル マシンにインストールされているかどうかを確認します。npm 検索エクスプレス
- パッケージのアンインストール – パッケージのインストールと同じように、パッケージをアンインストールすることもできます。 パッケージのアンインストールはnpmのアンインストールコマンドで行います。 以下の例は、Express モジュールをアンインストールする方法を示しています。npmアンインストールエクスプレス
package.jsonファイルとは何ですか
「package.json」ファイルは、 特定のプロジェクトに関するメタデータ。 この情報は、プロジェクトをその依存関係とともにどのように処理すべきかを理解するために必要な情報をノード パッケージ マネージャーに提供します。
package.json ファイルには、プロジェクトの説明、特定のディストリビューション内のプロジェクトのバージョン、ライセンス情報、構成データなどの情報が含まれています。
package.json ファイルは通常、Node.js プロジェクトのルート ディレクトリにあります。
npm 経由でインストールされたときにモジュールの構造がどのように見えるかを例に挙げてみましょう。
以下のスナップショットは、Express モジュールが Node.js プロジェクトに含まれている場合のファイルの内容を示しています。 スナップショットから、express フォルダー内の package.json ファイルを確認できます。
package.json ファイルを開くと、ファイル内に多くの情報が表示されます。
以下は、ファイルの一部のスナップショットです。 の 特急@~4.13.1 には、使用されている Express モジュールのバージョン番号が記載されています。
製品概要
- Node.js のモジュールは、コードを XNUMX つの単位に論理的にカプセル化したものです。 モジュールに分離すると、コードがより管理しやすくなり、将来の目的に備えて保守しやすくなります。
- Express、underscore、Node.js 内で使用できるモジュールが数多く市場に出回っています。 MongoDB, etc.
- ノード パッケージ マネージャー (npm) は、Node.js アプリケーションで使用できるモジュールをダウンロードしてインストールするために使用されます。
- カスタム NPM モジュールを作成し、これらのモジュールを拡張し、これらのモジュールを公開することもできます。
- Node パッケージ マネージャーには、インストール、アンインストール、検索など、ローカル システム上の npm モジュールを管理するための完全なコマンド セットがあります。
- package.json ファイルは、npm モジュールのメタデータ情報全体を保持するために使用されます。