Node.js での組み込みモジュールとカスタムモジュールの実装

Node.js での組み込みモジュールとカスタムモジュールの実装

1. コモンズ

  • CommonjsはNode.jsのカスタムモジュールです
  • Commonjs 仕様は、JavaScript に標準がないという欠点を補い、バックエンド言語に似た標準ライブラリを提供するために提案されました。つまり、commonjs はモジュール標準であり、nodejs は commonjs のモジュール実装です。 nodejs では、http、url、fs などを除き、すべて nodejs の組み込みモジュールであり、直接使用できます。
  • commonjs でのカスタム モジュールの実装:
  • Node.js では、パブリック関数はモジュールとして別の js ファイルに抽出され、外部からアクセスすることはできません (バックエンドのプライベート プロパティとメソッドと同様)。モジュールを使用する場合は、エクスポートまたは module.exports を通じてモジュール内のプロパティまたはメソッドを公開する必要があります。必要な場所に require を使用してモジュールをインポートします。

2. モジュールエクスポートの2つのソリューション

解決策1

str={} とします。
モジュール.exports=str;

解決策2

str={} とします。
エクスポート.A = str;

3. カスタムモジュールの作成

共通.js

// ノード内の組み込みモジュールとカスタムモジュール // モジュールは 2 つのソリューションをエクスポートします let str={};
モジュール.exports=str;
エクスポート.A = str;

// モジュールをインポートするには、require("") を使用してモジュールを読み込みます。let todo = require("./todo"); // サフィックスは省略できます。console.log(todo);

js のドキュメント

モジュール.エクスポート={
   名前:"張三",
   スリープ:関数(){
       console.log("スリープ");
   }
}

または

モジュール.エクスポート={
   名前:"張三",
   スリープ:関数(){
       console.log("スリープ");
   }
}
  • node で require() を実行すると、モジュールをロードするときに名前を直接記述できますが、依存関係の下でロードされ、設定ファイルが生成されなければなりません。
  • ターミナルに依存関係ファイルを入力し、構成ファイルをインストールします
  • Nodejs は、node_modules ファイルの下にあるファイルを自動的に見つけることができます。node_modules ファイルの下にフォルダーがある場合は、cd を使用してこのファイルに入り、コマンド cnpm init --yes を使用して現在のファイルの package.json ファイルをインストールし、require("name"); を直接要求できます。

ケース1

共通.js

// モジュールをインポートするには、require("") を使用してモジュールを読み込みます。let todo = require("./todo"); // サフィックスは省略できます。console.log(todo);

// ノードで require() する場合、モジュールをロードするときに名前を直接記述できますが、依存関係の下でロードする必要があり、構成ファイルを生成する必要があります // ターミナルで依存関係ファイルを入力し、構成ファイルをインストールします let fetch=require("Fetch");
console.log(フェッチ);
fetch.get("http://www.zjm.com");

フェッチ

モジュール.エクスポート={
   取得(url){
       コンソールにログ出力します。
   }
}

ケース2

共通.js

Axios を require("Axios"); とします。
url = "https://autumnfish.cn/search";
data = { キーワード: '西安' };
定数 http = require("http");
app = http.createServer((req, res) => { を設定します。
   res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" });
   Axios.get(url, { params: data }).then((result) => {
       res.write(結果);
       res.end();
   });
});
アプリを聴く(8080)

アクシオス

定数 http = require("http");
定数 https = require("https");
//変換メソッドlet change = (args) => {
   str = "?" とします。
   for (let key in args) {
       str += キー + "=" + args[キー];
       str + = "&";
   }
   str.slice(0, str.length - 1)を返します。
}
モジュール.エクスポート = {
   get(href, { パラメータ }) {
       新しい Promise を返します ((resolve, reject) => {
           href += 変更(パラメータ);
           https.get(href, (res) => {
               { ステータスコード } = res; とします。
               エラーを起こす;
               ステータスコードが 200 の場合
                   error = new Error('リクエストが失敗しました。\n' +
                       `ステータス コード: ${statusCode}`);
               }
               if (エラー) {
                   コンソールエラー(エラーメッセージ);
                   // 応答データを消費してメモリを解放する
                   res.resume();
                   戻る;
               }
               // レスポンスのエンコーディングを設定します res.setEncoding("utf8");
               alldata = "" とします。
               //モニター datares.on("data", (info) => {
                   すべてのデータ += 情報;
               })
               res.on("end", () => {
                   data = alldata とします。
                   解決(データ);
               })
           });
       });
   },
   役職() {

   }
}

Node.js の組み込みモジュールとカスタムモジュールの実装に関するこの記事はこれで終わりです。より関連性の高い Node.js の組み込みモジュールとカスタムモジュールについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • フロントエンドのプログレッシブフレームワークVUEの簡単な紹介
  • vuex プログレッシブチュートリアルのサンプルコードの詳細な説明
  • Spring Boot Web アプリケーション構成の詳細な説明
  • Spring Boot を使用して Web アプリケーションを作成するためのサンプル コード
  • NodeJs の高メモリ使用量のトラブルシューティング実戦記録
  • Nodejs 組み込み暗号化モジュールを使用してピアツーピアの暗号化と復号化を実現する詳細な説明
  • node.js でマルチコア CPU を最大限に活用する方法
  • Node.js コード実行をバイパスするためのヒントのまとめ
  • プログレッシブ ウェブ アプリ (PWA) の開発方法

<<:  MySQLのユーザー権限の確認と管理方法の詳細な説明

>>:  Linux CentOS でスクリプトを定期的に実行するように設定する方法

推薦する

koa2 サービスに SSL を設定する方法

I. はじめに1: SSL証明書私のドメイン名は Tencent Cloud にあります。第 3 レ...

シンプルなウェブページレイアウトの構造と表現原理の共有

構造とパフォーマンスの紹介HTML 構造、CSS 表現、JavaScript 動作。Web ページの...

webpackでCSSを分割・圧縮し、リンクでインポートする手順

まずコードファイルの構造を見てみましょう。エントリファイル (index1.js) の内容: ...

MySQL の日付型の単一行関数コードの詳細な説明

MySQL の日付型単一行関数: CURDATE()またはCURRENT_DATE()は現在の日付を...

Oracle Rownum 書き込みに似た MySQL の詳細な例

Rownum は、Oracle での独自の書き込み方法です。Oracle では、rownum を使用...

CSS3はウェブサイトの製品表示効果図を実現します

この記事では、CSS3 を使用した Web サイトの商品表示の効果を紹介し、皆さんと共有します。詳細...

中国のウェブサイトユーザーエクスペリエンスランキング

<br />ユーザーエクスペリエンスは中国のウェブサイトでますます重視されており、ユーザ...

Vue で lodop 印刷コントロールを使用してブラウザ互換の印刷を実現する方法

序文このコントロールを直接印刷すると下部に透かしが入りますが、公式 Web サイトから購入することで...

Windows Server 2012 でファイル サーバーを構築するための詳細な手順

ファイル サーバーは、企業内で最も一般的に使用されるサーバーの一つであり、主にファイル共有を提供する...

今日、今週、今月、先月のMySQLクエリデータ

今日 テーブル名から * を選択します。ここで、to_days(時間フィールド名) = to_day...

リンクされた画像をダウンロードしてアップロードするJavaScriptの実装

写真をアップロードするので、まずはダウンロード可能な画像リソースかどうかを判断する必要があります。正...

CentOS 8 に htop をインストールする方法のチュートリアル

システムをインタラクティブに監視したい場合は、htop コマンドが最適な選択肢の 1 つです。 ht...

Vue Element Sortablejs を使用してテーブル列をドラッグする詳細な説明

1. css: ドラッグテーブル.css @charset "UTF-8"; ....

...

MySQLで負荷分散を実装する方法

序文MySQL は、クライアント/サーバー構造に基づく、高速、高性能、マルチスレッドのオープン ソー...