ホームページ ウェブフロントエンド jsチュートリアル Nodeモジュールモジュールの詳しい説明

Nodeモジュールモジュールの詳しい説明

Mar 28, 2018 am 09:40 AM
module node 詳しい説明

複雑な Web アプリケーションを開発する場合、通常は各関数を分割し、異なるファイルにカプセル化し、必要に応じてファイルを参照する、つまりコードをモジュール管理する必要があります。ほとんどすべてのプログラミング言語には、Java のパッケージや C# のアセンブリなど、独自のモジュール編成方法があり、Node は CommonJS モジュール仕様を採用しています。

モジュール仕様

CommonJS は、ブラウザ外で実行される JS を標準化することを目的としており、多数の JS の問題 (グローバルな名前の競合など) を解決してきました。 Node の CommonJS 実装では、各モジュールは個別の JS ファイルにカプセル化されます。つまり、ファイルはモジュールであり、ファイル パスはモジュール名です。各モジュールを作成する場合、次の 3 つの事前定義変数を使用できます:

require()

この関数は、現在のモジュール内の他のモジュールをロードして使用するために使用され、モジュール名を渡し、モジュール エクスポート オブジェクトを返します。モジュール名には、相対パス (./ で始まる) または絶対パス (/ で始まる、または C: などのドライブ文字) を使用できます。また、モジュール名の拡張子 .js は省略できます。このとき、Node は同じ名前のフォルダーを探します。見つからない場合は、同じ名前の js ファイルを探します。この関数を使用して JSON ファイルをロードして使用することもできますが、.json 拡張子は省略できません。

exports

このオブジェクトは、現在のモジュールのエクスポート オブジェクトであり、モジュールのパブリック メソッドとプロパティをエクスポートするために使用されます。デフォルトは空のオブジェクト {} です。他のモジュールが require() 関数を通じて現在のモジュールを使用する場合、現在のモジュールのエクスポート オブジェクトを取得します。パブリック メソッドは、次のコードでエクスポートされます:


exports.hello = function() {
  console.log("Hello World!");
};
ログイン後にコピー

module

このオブジェクトは、現在のモジュールのメタデータとその他の関連情報を提供するために使用されますが、最も便利なのは、exports 属性を使用して現在のモジュールのエクスポート オブジェクトを置き換えます。たとえば、モジュールのエクスポート オブジェクトはデフォルトでは通常のオブジェクトです。次のメソッドを使用して関数に変換できます:


module.exports = function() {
  console.log("Hello World!");
};
ログイン後にコピー

注: 上記のメソッドを使用すると、エクスポート オブジェクトへの変更はすべて無視されます。 !

モジュールの初期化

モジュール内のJSコードは、モジュールが初めて使用されるときに一度だけ実行され、モジュールのエクスポートされたオブジェクトは実行中に初期化されます。後で、キャッシュされたエクスポート オブジェクトが再利用されます。

test.jsでモジュールを定義する


//定义私有变量
var name = "";
function setName(n) {
  name = n;
}

function logName() {
  console.log(name);
}

//导出公有方法
exports.setName = setName;
exports.logName = logName;
ログイン後にコピー

mainにテストモジュールをロードする


//加载test模块
var test1 = require("./test.js"),
  test2 = require("./test.js");

//使用test1
test1.setName("Neo");

//使用test2
test2.logName(); //Neo
ログイン後にコピー

require()が何度呼び出されても、同じモジュールがロードされるだけであることがわかります参照が 1 回取得され、複数回取得された場合、実際には同じインスタンスになります。

メインモジュール

プログラムを開始するためにコマンドラインパラメータを通じてノードに渡されるモジュールは、メインモジュールと呼ばれ、アプリケーション全体を構成する他のモジュールが連携して動作するようにスケジュールを設定します。たとえば、次のコマンド ラインでプログラムを開始する場合、main.js がメイン モジュールになります:


$ node main.js
ログイン後にコピー

バイナリ モジュール

Node は JS を使用してモジュールを作成できるだけでなく、C の使用もサポートします。 /C++ でバイナリ モジュールを書き込みます。 コンパイル後 バイナリ モジュールは、ファイル拡張子が .node であることを除いて、JS モジュールと同じように使用されます。バイナリ モジュールはオペレーティング システムが提供するすべての機能を使用できますが、プラットフォーム間で使用するのは困難です。

関連する推奨事項:

JavaScript ES6のモジュール構文の詳細な説明


以上がNodeモジュールモジュールの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C++のmode関数の詳しい解説 C++のmode関数の詳しい解説 Nov 18, 2023 pm 03:08 PM

C++ のモード関数の詳細な説明 統計において、モードとは、一連のデータ内で最も頻繁に現れる値を指します。 C++ 言語では、モード関数を記述することによって、任意のデータセット内のモードを見つけることができます。モード関数はさまざまな方法で実装できます。一般的に使用される 2 つの方法を以下で詳しく紹介します。 1 つ目の方法は、ハッシュ テーブルを使用して各数値の出現回数をカウントすることです。まず、各数値をキー、出現回数を値とするハッシュ テーブルを定義する必要があります。次に、特定のデータセットに対して次を実行します。

Win11での管理者権限の取得について詳しく解説 Win11での管理者権限の取得について詳しく解説 Mar 08, 2024 pm 03:06 PM

Windows オペレーティング システムは世界で最も人気のあるオペレーティング システムの 1 つであり、その新バージョン Win11 が大きな注目を集めています。 Win11 システムでは、管理者権限の取得は重要な操作であり、管理者権限を取得すると、ユーザーはシステム上でより多くの操作や設定を実行できるようになります。この記事では、Win11システムで管理者権限を取得する方法と、権限を効果的に管理する方法を詳しく紹介します。 Win11 システムでは、管理者権限はローカル管理者とドメイン管理者の 2 種類に分かれています。ローカル管理者はローカル コンピュータに対する完全な管理権限を持っています

Oracle SQLの除算演算の詳細説明 Oracle SQLの除算演算の詳細説明 Mar 10, 2024 am 09:51 AM

OracleSQL の除算演算の詳細な説明 OracleSQL では、除算演算は一般的かつ重要な数学演算であり、2 つの数値を除算した結果を計算するために使用されます。除算はデータベース問合せでよく使用されるため、OracleSQL での除算演算とその使用法を理解することは、データベース開発者にとって重要なスキルの 1 つです。この記事では、OracleSQL の除算演算に関する関連知識を詳細に説明し、読者の参考となる具体的なコード例を示します。 1. OracleSQL での除算演算

C++の剰余関数の詳しい解説 C++の剰余関数の詳しい解説 Nov 18, 2023 pm 02:41 PM

C++ の剰余関数の詳しい説明 C++ では、剰余演算子 (%) を使用して、2 つの数値を除算した余りを計算します。これは、オペランドが任意の整数型 (char、short、int、long など) または浮動小数点数型 (float、double など) になる二項演算子です。剰余演算子は、被除数と同じ符号の結果を返します。たとえば、整数の剰余演算の場合、次のコードを使用して実装できます。

Vue.nextTick関数の使い方と非同期更新での応用について詳しく解説 Vue.nextTick関数の使い方と非同期更新での応用について詳しく解説 Jul 26, 2023 am 08:57 AM

Vue.nextTick 関数の使い方と非同期更新での応用について詳しく説明 Vue の開発では、DOM を変更した直後にデータを更新したり、関連する操作が必要になったりするなど、データを非同期で更新する必要がある状況によく遭遇します。データが更新された直後に実行されます。このような問題を解決するために登場したのが、Vue が提供する .nextTick 関数です。この記事では、Vue.nextTick 関数の使用法を詳しく紹介し、コード例と組み合わせて、非同期更新でのアプリケーションを説明します。 1.Vue.nex

PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? Mar 05, 2025 pm 05:57 PM

ピン張りのノードの詳細な説明とインストールガイドこの記事では、ピネットワークのエコシステムを詳細に紹介します - PIノードは、ピン系生態系における重要な役割であり、設置と構成の完全な手順を提供します。 Pinetworkブロックチェーンテストネットワークの発売後、PIノードは多くの先駆者の重要な部分になり、テストに積極的に参加し、今後のメインネットワークリリースの準備をしています。まだピン張りのものがわからない場合は、ピコインとは何かを参照してください。リストの価格はいくらですか? PIの使用、マイニング、セキュリティ分析。パインワークとは何ですか?ピン競技プロジェクトは2019年に開始され、独占的な暗号通貨PIコインを所有しています。このプロジェクトは、誰もが参加できるものを作成することを目指しています

Angular と Node を使用したトークンベースの認証 Angular と Node を使用したトークンベースの認証 Sep 01, 2023 pm 02:01 PM

認証は、Web アプリケーションの最も重要な部分の 1 つです。このチュートリアルでは、トークンベースの認証システムと、それが従来のログイン システムとどのように異なるかについて説明します。このチュートリアルを終えると、Angular と Node.js で書かれた完全に動作するデモが表示されます。従来の認証システム トークンベースの認証システムに進む前に、従来の認証システムを見てみましょう。ユーザーはログイン フォームにユーザー名とパスワードを入力し、[ログイン] をクリックします。リクエストを行った後、データベースにクエリを実行してバックエンドでユーザーを認証します。リクエストが有効な場合、データベースから取得したユーザー情報を使用してセッションが作成され、セッション情報が応答ヘッダーで返され、セッション ID がブラウザに保存されます。対象となるアプリケーションへのアクセスを提供します。

Linuxシステムコールsystem()関数の詳細説明 Linuxシステムコールsystem()関数の詳細説明 Feb 22, 2024 pm 08:21 PM

Linux システム コール system() 関数の詳細説明 システム コールは、Linux オペレーティング システムの非常に重要な部分であり、システム カーネルと対話する方法を提供します。その中でも、system()関数はよく使われるシステムコール関数の一つです。この記事では、system() 関数の使用法を詳しく紹介し、対応するコード例を示します。システム コールの基本概念 システム コールは、ユーザー プログラムがオペレーティング システム カーネルと対話する方法です。ユーザープログラムはシステムコール関数を呼び出してオペレーティングシステムを要求します。

See all articles