Nodejsのモジュール性とは何ですか

WBOY
リリース: 2022-06-29 15:42:08
オリジナル
1918 人が閲覧しました

nodejs では、モジュール化とは、大きなファイルを、独立していて相互依存している複数の小さなモジュールに分割することを指します。各 js ファイルは別個のモジュールとみなされ、モジュールは互いに見えません。モジュールが別のモジュールを使用する必要がある場合は、モジュールを導入するには、指定された構文を使用する必要があり、モジュールによって公開されるコンテンツのみをインポートできます。構文は「const 変数名 = require('モジュール パス');」です。

Nodejsのモジュール性とは何ですか

この記事の動作環境: Windows 10 システム、nodejs バージョン 12.19.0、Dell G3 コンピューター。

nodejs のモジュール性とは

コンセプト

背景: チームのコラボレーションでは、さまざまなメンバーがそれぞれが担当するコードを個別に作成します。 A が a.js を担当し、B が b.js を担当します。a.js と b.js が同じ変数を定義している場合、2 つのファイルを使用する場合、変数が同じ名前であるとエラーが報告されます。つまり、地球規模の変動汚染です。解決策 ->nodejs のモジュール化

コンセプト:nodejs のモジュール化とは、各 js ファイルが個別のモジュールとみなされることを意味します。モジュールは互いに見えません。モジュールが別のモジュールを使用する必要がある場合、構文を指定して使用するモジュールをインポートする必要があり、インポートされたモジュールによって公開されるコンテンツのみを使用できます。

#モジュール化とは、固定ルールに従い、大きなファイルを独立かつ相互依存する複数の小さなモジュールに分割することです。簡単に言うと、1 つの js ファイルが別の js ファイルのデータを使用できます。

構文: 導入と公開を含む

導入モジュール

const 变量名 = require('模块的路径');
ログイン後にコピー

公開構文 (次の 2 つの構文から 1 つを選択)

内部モジュール:

1、多次暴露
module.exports.属性名1 = 数据1;
module.exports.属性名2= 数据2;
2、一次性暴露完
module.exports ={
    属性名1:数据1,
    属性名:2数据2,
}
ログイン後にコピー

モジュールパス詳細

  • ./:現在のディレクトリ

  • ../:現在のディレクトリの一つ上のディレクトリ

  • ./次のレベルのディレクトリ/

  • モジュールを導入するときは .js サフィックスを省略できます

  • nodejs 独自のモジュール、または npm でダウンロードしたパッケージの場合、パスを記述する必要はなく、モジュール名を直接記述します。

  • 1、引入上一级目录下的a.js模块
    let 变量名= require('./../a');
    2、引入下一级目录routes下的b.js模块
    let 变量名= require('./routes/b');
    3、引入npm下载的jQuery模块
    let 变量名= require('jquery');
    ログイン後にコピー

    拡張知識:

    モジュール化のメリットは何ですか?

    1. コードの再利用性が向上します

    2. コードの保守性が向上します

    3. それはオンデマンド読み込みを実現できる (vue を学習するときは非常に明白です)

    モジュール化の出現により、関数スコープに似たモジュール スコープも導入されますカスタム モジュールで定義される変数、メソッドなど現在のスコープ内でのみアクセスできます。この種のアクセス制限は、変数汚染の問題を効果的に解決します。

    推奨される学習: 「

    nodejs ビデオ チュートリアル

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート