node.jsのコアモジュールとは

node.jsのコアモジュールとは

グローバルオブジェクト

ブラウザ JS では、window は通常グローバル オブジェクトですが、nodejs のグローバル オブジェクトはグローバルであり、すべてのグローバル変数はグローバル オブジェクトのプロパティです。

Node.js で直接アクセスできるオブジェクトは通常、コンソール、プロセスなどのグローバル プロパティです。

グローバルオブジェクトとグローバル変数

global の最も基本的な役割は、グローバル変数のホストとして機能することです。

グローバル変数の条件:

最も外側のレベルで定義された変数、グローバル オブジェクトのプロパティ、暗黙的に定義された変数 (値が直接割り当てられていない変数)

グローバル オブジェクトのプロパティでもあるグローバル変数を定義します。

グローバル変数は名前空間を汚染し、コード結合のリスクを高めるため、グローバル変数の導入を避けるために、常に var を使用して変数を定義します。

プロセス

プロセスはグローバル変数、つまりグローバル オブジェクトのプロパティです。これは、Node.js プロセス オブジェクトの状態を記述し、オペレーティング システムとのシンプルなインターフェイスを提供するために使用されます。

process.argv はコマンドラインパラメータ配列です。最初の要素はノード、2 番目はスクリプトファイル名、3 番目以降の各要素は実行パラメータです。

console.log(プロセス.argv);

process.stdout は標準出力ストリームです。

process.stdin は標準入力ストリームです。

process.nextTick(callback) の機能は、イベント ループのタスクを設定することであり、次にイベント ループが応答したときにコールバックが呼び出されます。

process.platform、process.pid、process.execPath、process.memoryUsage() などもあります。 POSIX プロセス シグナル応答メカニズム。

コンソール

コンソールの標準出力を提供するために使用されます。

  • コンソールログ()
  • コンソール.エラー()
  • コンソール.トレース()

一般的なツールユーティリティ

util は、コア js の過度に合理化された機能の欠点を補うためによく使用される関数のコレクションを提供する Node.js コア モジュールです。

util.inherits は、オブジェクト間のプロトタイプ継承のための関数を実装します。 js オブジェクト指向機能はプロトタイプに基づいています。

任意のオブジェクトを文字列に変換する util.inspect メソッド。

util.isArray()、util.isRegExp()、util.isDate()、util.isError()、util.format()、util.debug() など。

イベントメカニズムイベント - イベントモジュール

イベントは NodeJs の最も重要なモジュールです。 NodeJs のアーキテクチャ自体はイベントベースであり、独自のインターフェースを提供するため、NodeJs イベントプログラミングの基礎と言えます。

イベントエミッター

events モジュールは、events.EventEmitter という 1 つのオブジェクトのみを提供します。その中核は、イベント発行とイベント監視関数のカプセル化です。

EventEmitter でよく使用される API:

  • EventEmitter.on(event, listener) は、文字列イベントとコールバック関数リスナーを受け入れて、指定されたイベントのリスナーを登録します。
  • EventEmitter.emit(event, [arg1], [arg2], [...]) は、イベントリスナーのパラメータリストにいくつかのオプションパラメータを渡して、イベントイベントを発行します。
  • EventEmitter.once(event, listener) は、指定されたイベントの 1 回限りのリスナーを登録します。つまり、リスナーは最大で 1 回だけトリガーされ、トリガーされた直後にリスナーは解放されます。
  • EventEmitter.removeListener(event, listener) は、指定されたイベントのリスナーを削除します。リスナーは、イベントに登録されているリスナーである必要があります。
  • EventEmitter.removeAllListeners([event]) は、すべてのイベントのすべてのリスナーを削除します。event が指定されている場合は、指定されたイベントのすべてのリスナーが削除されます。

エラーイベント

例外が発生すると、通常はエラー イベントが発生します。

EventEmitter の継承

EventEmitter は直接使用されるのではなく、オブジェクトから継承されます。 fs、net、http を含み、コア モジュールがイベント応答をサポートしている限り、EventEmitter のサブクラスになります。

ファイルシステム fs--fs モジュール

ファイル操作のカプセル化により、読み取り、書き込み、名前変更、削除、ディレクトリの移動、ファイルのリンクなどの POSIX ファイル システム操作が提供されます。非同期と同期の 2 つのバージョンがあります。

fs.readFile(filename, [encoding], [callback(err, data)]) は、ファイルを読み取る最も単純な関数です。

var fs = require("fs");
fs.readFile("server.js", "utf-8", function(err, data){
もし(エラー){
    コンソールログ(エラー);
}それ以外{
    コンソールにログ出力します。
}})

fs.readFileSync

fs.readFileSync(filename, [encoding]) は fs.readFile の同期バージョンです。 fs.readFile と同じパラメータを受け入れ、読み取られたファイルの内容が関数の戻り値として返されます。エラーが発生した場合、fs は例外をスローします。この例外は、try と catch を使用してキャプチャして処理する必要があります。

fs.open

fs.read

一般的に言えば、上記の 2 つの方法は、必要な場合を除いてファイルの読み取りには使用しないでください。特にファイル サイズがわからない場合は、バッファーとファイル ポインターを手動で管理する必要があり、非常に面倒なことになります。

HTTP モジュール

http モジュールは主に、http サービスの構築、ユーザー要求情報の処理などに使用されます。

httpリクエストの使用

定数 http = require('http');
// httpリクエストの送信に使用 const options = {
  プロトコル: 'http:',
  ホスト名: 'www.baidu.com',
  ポート: '80'、
  メソッド: 'GET'、
  パス: '/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg'
};
応答データを '' とします。
const リクエスト = http.request(オプション、レスポンス => {
  console.log(response.statusCode); // リンクリクエストのステータスコードを取得します。 response.setEncoding('utf8');
  レスポンス.on('データ', チャンク => {
    応答データ += チャンク;
  });
  レスポンス.on('end', () => {
    console.log(応答データ);
  });
});
リクエスト.on('エラー', エラー => {
  コンソール.log(エラー);
});
リクエストを終了します。

http を使用してサービスを作成する

// http を使用してサーバーを作成します。const port = 3000;
定数ホスト = '127.0.0.1';
定数サーバー = http.createServer();
server.on('リクエスト', (リクエスト, レスポンス) => {
  レスポンス.writeHead(200, {
    'コンテンツタイプ': 'text/plain'
  });
  レスポンスの終了('Hello World\n');
});
server.listen(ポート、ホスト、() => {
  console.log(`サーバーはhttp://${host}:${port}/で実行されています`);
});

バッファ、暗号暗号化、ストリームの使用、ネット ネットワーク、OS オペレーティング システムなど、Node コア モジュールは他にも多数あります。

上記は、node.js コアモジュールの詳細な内容です。node.js コアモジュールの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Node.js のモジュール性、npm パッケージ マネージャーの説明
  • Node.js の fs モジュールと Path モジュールのメソッドの詳細な説明
  • Node.js http モジュールの使用
  • node.jsのモジュールシステムについて話す
  • Node.js におけるモジュール化の詳細な説明

<<:  Nginx コンテンツ キャッシュと共通パラメータ設定の詳細

>>:  1時間で学ぶMySQLの基礎

ブログ    

推薦する

Discuz! フォーラムに設定オプションを追加する方法

Discuz! フォーラムにはバックグラウンドで多くの設定オプションがあり、これらの設定オプションを...

スライド階段効果を実現するjQuery

この記事では、階段スライド効果を実現するためのjQueryの具体的なコードを参考までに紹介します。具...

Vueを使い始める際に習得する必要がある知識について簡単に説明します

最も人気のあるフロントエンド フレームワークの 1 つとして、Vue は多くのフロントエンド開発エン...

ECMAScript6 におけるマップマッピングの基本概念と一般的な方法

目次マッピングとは何かオブジェクトとマップの違いマップの共通メソッド宣言と初期化割り当てセットキー値...

WebページでjQueryを参照する方法

CDN(コンテンツ配信ネットワーク)を通じて参照できます。 jQuery は Google と Mi...

VUE ユニアプリライフサイクルに関する簡単な説明

目次1. アプリケーションライフサイクル2. ページのライフサイクルコンポーネントライフサイクル要約...

MySQL ジョイントインデックス(複合インデックス)の実装

共同インデックスこの記事におけるジョイントインデックスの定義は次のとおりです (MySQL): AL...

リバースプロキシ設定を実装するためのユニバーサルnginxインターフェース

1. プロキシサーバーとは何ですか?プロキシ サーバーは、クライアントが要求を送信すると、それを直接...

JavaScriptプロトタイプチェーン図のまとめと実践

目次プロトタイプチェーンプロトタイプチェーンに基づいてシンプルなJQueryライブラリを実装すること...

Hyper-V なしで Windows 10 を動作させるソリューション

Windows10 Home Edition でHyper-vを有効にする方法をまだ探していますか?...

Dockerコンテナの操作手順の概要と詳細説明

1. コンテナを作成して実行するdocker run -it --rm centos:latest ...

Linux で rsync を使用する方法

目次1. はじめに2. インストール3. 基本的な使い方3.1、-rパラメータ3.2、-aパラメータ...

SASSで変数のデフォルト値を使用する方法

SASS で定義された変数では、後で設定された値によって古い値が上書きされます。 $色: 赤; $色...

Linux での scp および sftp コマンドの詳細な説明

目次序文1. SCPの使用法2. sftpを使用する3. scp と sftp の違いは何ですか?ど...