ホームページ > ウェブフロントエンド > jsチュートリアル > NodeJSモジュール【簡単解説】

NodeJSモジュール【簡単解説】

Susan Sarandon
リリース: 2024-11-25 08:09:14
オリジナル
543 人が閲覧しました

NodeJS Modules [Simple Explanation]

モジュールとは何ですか?

NodeJS プロジェクトに 5 つの関数を使用した Index.js ファイルがあると想像してください。ただし、これらの関数のうち 2 つは他のファイルでも使用される可能性があります。したがって、1 つのファイルではなく、プロジェクト内に 3 つのファイルを作成します。

  • index.js
  • dependency1.js
  • dependency2.js

ここで、これらの Javascript ファイルはそれぞれモジュールであり、クラス/関数のエクスポートとインポートの方法は基本的にモジュール システムです。モジュール システムを使用すると、必要に応じていつでもコードを分割して含めたり、当社または他の開発者が作成したコードをインポートしたりできます。

これらのモジュールは、プロジェクト内に存在する単なる Javascript ファイルではありません。プロジェクトに依存関係としてインストールした外部パッケージを使用することもできます。また、NodeJS には http や fs などの組み込みモジュールがいくつかあり、これらはインストールと同時に使用でき、外部依存関係を追加せずにインポートできます。

モジュールをエクスポートまたはインポートするにはどうすればよいですか?

Node.js では 2 つのモジュール システムが使用されています。

  1. CommonJS (CJS)
  2. ECMAScript モジュール (ESM)

私の前のブログで、キッチン、シェフ、ウェイターの例を読みました。同様に、これとモジュールを比較する場合、CommonJS はレシピを検索して見つけるために必要な古くて分厚いレシピ本であり、ESM はレシピを見るための新しい古いデジタル アプリであると想像してください。

CommonJS (CJS)

  • 古いモジュール システム。
  • モジュールは次のような単純な形式で記述されます。
// Export
module.exports = function SayHello() {
  console.log("Hello World!");
};

// Import
const GetHello = require("./hello-script.js");
SayHello(); // "Hello World!"
ログイン後にコピー
ログイン後にコピー
  • 同期: モジュールを順番にロードします。
  • Node.js でのみ動作します (ブラウザーでは直接動作しません)。

ECMAScript モジュール (ESM)

  • 最新のモジュール システム。
  • モジュールがより構造化されました:
// Export
export function SayHello() {
  console.log("Hello World!");
}

// Import
import { SayHello } from "./hello-script.js";
SayHello();
ログイン後にコピー
ログイン後にコピー
  • 非同期: 複数のモジュールを同時にロードします。
  • ブラウザと Node.js でネイティブに動作します。

構文の主な違い:
CJS: module.exports / require
ESM: エクスポート/インポート

プロジェクトで CJS または ESM を構成するにはどうすればよいですか?

  • プロジェクトの package.json を開きます。
  • 追加:
{
  type: "module";
}
ログイン後にコピー
ログイン後にコピー
  • これは、NodeJS に .js を ESM として解釈するように指示します。これを追加しない場合、NodeJS はデフォルトで CommonJS として解釈します。

Typescript のモジュール:

場合によっては、ECMAScript モジュールを使用できても、インポートした古いパッケージが CommonJS で記述されていることがあります。これらのケースに対処するために、Typescript ファイルを ESM 形式で記述した場合でも、Typescript ファイルから生成された出力 Javascript コードが共通形式であることを確認することがあります。

このために、プロジェクトの tsconfig.json に COMPilerOptions を追加します。

// Export
module.exports = function SayHello() {
  console.log("Hello World!");
};

// Import
const GetHello = require("./hello-script.js");
SayHello(); // "Hello World!"
ログイン後にコピー
ログイン後にコピー

その後何が起こるか:
module: "commonjs": require と module.exports を使用する CommonJS モジュール システムを使用して JavaScript を出力します。
target: "es6": 出力 JavaScript が ES6 構文と let、const、arrow 関数などの機能を使用していることを確認します。

Typescript コードを入力してください:

// Export
export function SayHello() {
  console.log("Hello World!");
}

// Import
import { SayHello } from "./hello-script.js";
SayHello();
ログイン後にコピー
ログイン後にコピー

出力 Javascript コード:

{
  type: "module";
}
ログイン後にコピー
ログイン後にコピー

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

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