ホームページ ウェブフロントエンド jsチュートリアル Node.js がモジュールをロードし、モジュール インスタンスをインストールする方法の詳細な説明

Node.js がモジュールをロードし、モジュール インスタンスをインストールする方法の詳細な説明

Jul 24, 2017 am 10:17 AM
javascript node.js インストール

Node.js のモジュールは、ファイル パスまたは名前を通じてモジュール参照を取得できます。モジュール参照は、Node 組み込みモジュールでない限り、js ファイル パスにマップされます。 Node の組み込みモジュールは、一般的に使用されるいくつかの API を開発者に公開しており、それらは Node プロセスの開始時にプリロードされます。

その他、サードパーティ モジュールや NPM 経由でインストールされたローカル モジュールなど、各モジュールはパブリック API を公開します。開発者がそれをインポートできるようにします。たとえば、

var mod = require('module_name')
ログイン後にコピー

この文を実行すると、Node は組み込みモジュール、または NPM を通じてインストールされたモジュールを読み込みます。 require 関数はオブジェクトを返します。オブジェクトによって公開される API は、関数、オブジェクト、または関数、配列、または任意のタイプの JS オブジェクトなどの属性です。

ノードモジュールのロードとキャッシュメカニズムは次のとおりです

1) 組み込みモジュール(コアモジュール)をロードします
2) ファイルモジュールをロードします(ファイルモジュール)
3) ファイルディレクトリモジュールをロードします(フォルダ) Module) )
4) node_modules にモジュールをロードします
5) ロードされたモジュールを自動的にキャッシュします

1. 組み込みモジュールをロードします

Node の組み込みモジュールはバイナリ形式にコンパイルされ、ファイル パスではなく名前で直接参照されます。サードパーティ モジュールが組み込みモジュールと同じ名前を持つ場合、組み込みモジュールは同じ名前のサードパーティ モジュールを上書きします。したがって、名前を付ける際には、組み込みモジュールと同じ名前にならないように注意する必要があります。たとえば、http モジュール

var http = require('http')
ログイン後にコピー

を取得した場合、返される http は、HTTP 関数を実装する Node の組み込みモジュールです。

2. ファイルモジュールをロードします

絶対パス

var myMod = require('/home/base/my_mod')
ログイン後にコピー

または相対パス

var myMod = require('./my_mod')
ログイン後にコピー

ここでは拡張子「.js」は無視されます。以下は同等です

var myMod = require('./my_mod')
var myMod = require('./my_mod.js')
ログイン後にコピー

3. ファイルディレクトリモジュールをロードします

var myMod = require('./folder')
ログイン後にコピー

などのフォルダーという名前のディレクトリがあるとします。このとき、ノードはフォルダー ディレクトリ全体を検索し、そのフォルダーがパッケージであると想定し、パッケージ定義ファイルのパッケージを見つけようとします。ジェソン。フォルダー ディレクトリに package.json ファイルが含まれていない場合、Node はデフォルトのメイン ファイルが Index.js であると想定し、index.js を読み込みます。 Index.js も存在しない場合、読み込みは失敗します。

ディレクトリ構造が以下の場合

Node.js がモジュールをロードし、モジュール インスタンスをインストールする方法の詳細な説明

package.jsonは以下のように定義されています

{
    "name": "pack",
    "main": "modA.js"
}
ログイン後にコピー

このときrequire('./folder')はモジュールmodA.jsを返します。 package.jsonが存在しない場合は、モジュールindex.jsが返されます。 Index.js も存在しない場合は読み込み例外が発生します。

4. モジュールをnode_modulesにロードします

モジュール名がパスまたは組み込みモジュールではない場合、Nodeは現在のディレクトリのnode_modulesフォルダー内を検索しようとします。現在のディレクトリにnode_modulesが見つからない場合、Nodeは親ディレクトリのnode_modulesから検索し、ルートディレクトリまで再帰的に検索します。

心配しないでください。npm コマンドを使用すると、node_modules ディレクトリを簡単にインストール、アンインストール、更新できます。

5. ロードされたモジュールを自動的にキャッシュします

Node は、毎回再検索することなく、ロードされたモジュールをキャッシュします。以下は例です

modA.js

console.log('模块modA开始加载...')
exports = function() {
    console.log('Hi')
}
console.log('模块modA加载完毕')
ログイン後にコピー

init.js

var mod1 = require('./modA')
var mod2 = require('./modA')
console.log(mod1 === mod2)
ログイン後にコピー

コマンドライン実行:

node init.js

入力は次のとおりです

Node.js がモジュールをロードし、モジュール インスタンスをインストールする方法の詳細な説明

2 回必要ですが、modA が必要であることがわかります。 .js まだ一度しか実行されていません。 mod1 と mod2 は同じです。つまり、両方の参照が同じモジュール オブジェクトを指します。

以上がNode.js がモジュールをロードし、モジュール インスタンスをインストールする方法の詳細な説明の詳細内容です。詳細については、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Win11システムに中国語言語パックをインストールできない問題の解決策 Win11システムに中国語言語パックをインストールできない問題の解決策 Mar 09, 2024 am 09:48 AM

Win11 システムに中国語言語パックをインストールできない問題の解決策 Windows 11 システムの発売に伴い、多くのユーザーは新しい機能やインターフェイスを体験するためにオペレーティング システムをアップグレードし始めました。ただし、一部のユーザーは、アップグレード後に中国語の言語パックをインストールできず、エクスペリエンスに問題が発生したことに気づきました。この記事では、Win11 システムに中国語言語パックをインストールできない理由について説明し、ユーザーがこの問題を解決するのに役立ついくつかの解決策を提供します。原因分析 まず、Win11 システムの機能不全を分析しましょう。

VirtualBox にゲスト追加機能をインストールできない VirtualBox にゲスト追加機能をインストールできない Mar 10, 2024 am 09:34 AM

OracleVirtualBox の仮想マシンにゲスト追加をインストールできない場合があります。 [デバイス] > [InstallGuestAdditionsCDImage] をクリックすると、以下に示すようなエラーがスローされます。 VirtualBox - エラー: 仮想ディスク C: プログラミング ファイルOracleVirtualBoxVBoxGuestAdditions.iso を ubuntu マシンに挿入できません この投稿では、次の場合に何が起こるかを理解します。 VirtualBox にゲスト追加機能をインストールできません。 VirtualBox にゲスト追加機能をインストールできない Virtua にインストールできない場合

Baidu Netdisk は正常にダウンロードされたものの、インストールできない場合はどうすればよいですか? Baidu Netdisk は正常にダウンロードされたものの、インストールできない場合はどうすればよいですか? Mar 13, 2024 pm 10:22 PM

Baidu Netdisk のインストール ファイルを正常にダウンロードしたにもかかわらず、正常にインストールできない場合は、ソフトウェア ファイルの整合性にエラーがあるか、残っているファイルとレジストリ エントリに問題がある可能性があります。 Baidu Netdisk はダウンロードできましたが、インストールできない問題の分析を紹介します。 Baidu Netdisk は正常にダウンロードされたがインストールできない問題の分析 1. インストール ファイルの整合性を確認します。ダウンロードしたインストール ファイルが完全で、破損していないことを確認します。再度ダウンロードするか、別の信頼できるソースからインストール ファイルをダウンロードしてみてください。 2. ウイルス対策ソフトウェアとファイアウォールをオフにする: ウイルス対策ソフトウェアやファイアウォール プログラムによっては、インストール プログラムが正常に実行されない場合があります。ウイルス対策ソフトウェアとファイアウォールを無効にするか終了してから、インストールを再実行してください。

Android アプリを Linux にインストールするにはどうすればよいですか? Android アプリを Linux にインストールするにはどうすればよいですか? Mar 19, 2024 am 11:15 AM

Linux への Android アプリケーションのインストールは、多くのユーザーにとって常に懸念事項であり、特に Android アプリケーションを使用したい Linux ユーザーにとって、Android アプリケーションを Linux システムにインストールする方法をマスターすることは非常に重要です。 Linux 上で Android アプリケーションを直接実行するのは Android プラットフォームほど簡単ではありませんが、エミュレータやサードパーティのツールを使用すれば、Linux 上で Android アプリケーションを快適に楽しむことができます。ここでは、Linux システムに Android アプリケーションをインストールする方法を紹介します。

Ubuntu 24.04 に Podman をインストールする方法 Ubuntu 24.04 に Podman をインストールする方法 Mar 22, 2024 am 11:26 AM

Docker を使用したことがある場合は、デーモン、コンテナー、およびそれらの機能を理解する必要があります。デーモンは、コンテナがシステムですでに使用されているときにバックグラウンドで実行されるサービスです。 Podman は、Docker などのデーモンに依存せずにコンテナーを管理および作成するための無料の管理ツールです。したがって、長期的なバックエンド サービスを必要とせずにコンテナーを管理できるという利点があります。さらに、Podman を使用するにはルートレベルの権限は必要ありません。このガイドでは、Ubuntu24 に Podman をインストールする方法について詳しく説明します。システムを更新するには、まずシステムを更新し、Ubuntu24 のターミナル シェルを開く必要があります。インストールプロセスとアップグレードプロセスの両方で、コマンドラインを使用する必要があります。シンプルな

Ubuntu 24.04 に Ubuntu Notes アプリをインストールして実行する方法 Ubuntu 24.04 に Ubuntu Notes アプリをインストールして実行する方法 Mar 22, 2024 pm 04:40 PM

高校で勉強しているときに、同じクラスの他の生徒よりも多くのメモを取る、非常に明確で正確なメモを取る生徒もいます。メモをとることが趣味である人もいますが、重要なことについての小さな情報をすぐに忘れてしまうため、メモをとることが必需品である人もいます。 Microsoft の NTFS アプリケーションは、通常の講義以外にも重要なメモを保存したい学生にとって特に役立ちます。この記事では、Ubuntu24へのUbuntuアプリケーションのインストールについて説明します。 Ubuntu システムの更新 Ubuntu インストーラーをインストールする前に、Ubuntu24 では、新しく構成されたシステムが更新されていることを確認する必要があります。 Ubuntu システムでは最も有名な「a」を使用できます

Win7 コンピューターに Go 言語をインストールする詳細な手順 Win7 コンピューターに Go 言語をインストールする詳細な手順 Mar 27, 2024 pm 02:00 PM

Win7 コンピュータに Go 言語をインストールする詳細な手順 Go (Golang とも呼ばれます) は、Google によって開発されたオープン ソース プログラミング言語です。シンプルで効率的で、優れた同時実行パフォーマンスを備えています。クラウド サービス、ネットワーク アプリケーション、およびアプリケーションの開発に適しています。バックエンド システムです。 Win7 コンピューターに Go 言語をインストールすると、その言語をすぐに使い始めて、Go プログラムの作成を開始できるようになります。以下では、Win7 コンピューターに Go 言語をインストールする手順を詳しく紹介し、具体的なコード例を添付します。ステップ 1: Go 言語インストール パッケージをダウンロードし、Go 公式 Web サイトにアクセスします。

Win7システムにGo言語をインストールするにはどうすればよいですか? Win7システムにGo言語をインストールするにはどうすればよいですか? Mar 27, 2024 pm 01:42 PM

Win7 システムに Go 言語をインストールするのは比較的簡単な操作で、次の手順に従ってください。以下では、Win7 システムに Go 言語をインストールする方法を詳しく紹介します。ステップ 1: Go 言語のインストール パッケージをダウンロードする. まず、Go 言語の公式 Web サイト (https://golang.org/) を開いて、ダウンロード ページに入ります。ダウンロード ページで、Win7 システムと互換性のあるインストール パッケージのバージョンを選択してダウンロードします。 [ダウンロード] ボタンをクリックし、インストール パッケージがダウンロードされるまで待ちます。ステップ 2: Go 言語をインストールする

See all articles