NodeJSのモジュールのエクスポートとインポート。
以前の投稿で、「Enide Studio 2014 IDEのインストール方法」と「Node JSアプリケーションの作成方法」について話し合いました。しかし、「新しいNode JSモジュールの作成方法とそれらを他のNode JSモジュールで再利用する方法」について話し始める前に、まずはNode JSモジュールのエクスポートとインポート方法についての良い知識が必要です。この投稿では、以下の2つの重要なNode JSコンセプトについて理論的に話し合います。
- How to export a Node JS Module
- How to import a Node JS Module
この知識は特に次の投稿で利用しますが、私の今後の全ての投稿の例にも使用します。
Node.jsモジュールをエクスポートする
最初に理解する必要があるのは、なぜNode.jsモジュールをエクスポートする必要があるのかということです。Node.jsはほとんどの必要なモジュールを提供しています(公式ウェブサイトhttps://www.npmjs.com/で更新内容をチェックできます。これはNode JSモジュールリポジトリとも呼ばれています)。しかし、リアルタイムのアプリケーションでは、Node.jsモジュールリポジトリには存在しないがそのアプリケーションの多くの場所で使用されるアプリケーションの機能がある場合があります。このような場合、再利用の利点を得るために、自分自身の新しいNode.jsモジュールを作成する必要があります。ただし、モジュールを作成するだけではシステムの他のモジュールで使用することはできません。このモジュールをエクスポートする必要があります。UIやJavaの開発者である場合は、おなじみかもしれません。Javaベースのアプリケーションに共通または再利用可能なコンポーネントがある場合、それを別のプロジェクトとして開発し、Jarファイルとして作成して、必要なプロジェクトのクラスパスに追加します。この時点でNode.jsモジュールをどのように作成するかについてあまり心配する必要はありません。将来の投稿で自分自身の新しいNode.jsモジュールを作成する方法については話し合います。Node.jsプラットフォームは、次のものをエクスポートする技術を提供しており、他のモジュールが再定義することなくこれらを再利用できます。
- Variable
- Function
- Module
これらの3つをエクスポートするためには、同じテクニックを使用する必要があります。Node.jsはオブジェクト「exports」を提供しています。構文:これから例を一つずつ見ていきます。ここでは理論的な話をしますが、次の投稿ではリアルタイムのシナリオを取り上げ、Node.jsアプリケーションを実装します。JavaScriptの変数をエクスポートする方法Node.jsの「exports」オブジェクトを使用して、Node.jsモジュールの変数をエクスポートし、他のモジュールで再利用できるようにします。リアルタイムでは、単に変数をエクスポートするだけではありません。ただし、練習用と初心者には明確にするために、これについては別々に話し合います。構文:例えば、次の内容が含まれるpi.jsファイルを持つシンプルなNode.jsプロジェクトを作成したとします。
var PI = 3.1416
exports.PI = PI;
ここでは、exports.PIという名前の変数としてPI変数をエクスポートしています。これにより、他のNode JSプロジェクトはPIという名前を使用するだけで、この変数を非常に簡単に使用することができます。JavaScript関数をエクスポートする方法:他のモジュールが再利用できるように、Node JSモジュールのJavaScript関数をエクスポートする場合でも、同じ「exports」オブジェクトを使用します。リアルタイムでは、これを行うことがありますが、常に使用することはおすすめしません。構文:例えば、以下の内容を持つarthmetic.jsファイルで単純なNode JSプロジェクトを作成したとします。
function add(a,b){
return a + b;
}
function sub(a,b){
return a - b;
}
function mul(a,b){
return a * b;
}
function div(a,b){
return a / b;
}
exports.add = add
exports.sub = sub
exports.mul = mul
exports.div = div
ここでは、4つのJavaScript関数を別々にエクスポートしています。これにより、他のNode JSプロジェクトはそれらを直接再利用することができます。これは単純な算術アプリケーションです。ただし、リアルタイムのNode JSアプリケーションをいくつか取ると、たくさんのJavaScriptファイルがあり、各ファイルにはたくさんの関数が含まれている場合があります。このシナリオでは、各関数を別々にエクスポートするのは非常に手間のかかるプロセスです。この問題を解決するには、以下に説明されているNode JSモジュールのエクスポート技術を使用する必要があります。Node JSモジュールのエクスポート方法:他のモジュールが再利用できるように、Node JSの「exports」オブジェクトを使用します。リアルタイムでは、これが推奨されます。構文:例:次の内容を持つarthmetic.jsファイルを含む単純なNode JSプロジェクトを作成したとします。
exports.arthmetic = {
var PI = 3.1416;
function add(a,b){
return a + b;
}
function sub(a,b){
return a - b;
}
function mul(a,b){
return a * b;
}
function div(a,b){
return a / b;
}
}
ここでは、わずかなexportsステートメントで4つのJavaScript関数とPI変数をすべてエクスポートしています。これにより、他のNode JSプロジェクトはすぐにすべての関数とPIを再利用することができます。
Node JS モジュールをインポートする
Node.jsのアプリケーションやモジュールを観察すると、既存のNode.jsのモジュールや独自のモジュールに依存する場合があります。モジュラリティの主な利点は再利用性です。同じ既存の機能を再開発する必要はありません。モジュールをインポートして、そのモジュールの機能を非常に簡単に再利用できます。Node.jsモジュールのインポート方法:自分のモジュールや既存のNode.jsモジュールをインポートするために同じ技術を使用します。Node.jsプラットフォームでは、モジュールを別のモジュールにインポートするための「require()」という関数呼び出しを提供しています。構文:ここで、module-nameは必要なNode.jsモジュール名です。some-nameはそのモジュールへの参照名です。このrequire()呼び出しは、指定されたモジュールをインポートし、アプリケーションにキャッシュされるため、再度インポートする必要はありません。例:
- To import our own Node JS module
var arthmetic = require(“arthmetic”); - To import existing Node JS Module Import Node JS “express” module;
var arthmetic = require(“express”);Import Node JS “mongoose” module;
var mongoose = require(“mongoose”);
この require() の呼び出しは、Javaの「import」文に似ています。import文は、パッケージやクラス、インターフェースなどを別のクラスやインターフェースにインポートするために使用します。今、私たちはNode JSモジュールのエクスポートとインポートの方法についての知識を得ました。次の投稿では、この知識を活用して独自のNode JSモジュールを作成します。