ホームページ > ウェブフロントエンド > jsチュートリアル > CommonJSの仕様とは何ですか? CommonJS 仕様を理解する

CommonJSの仕様とは何ですか? CommonJS 仕様を理解する

不言
リリース: 2018-10-26 15:12:17
転載
2588 人が閲覧しました

この記事では、CommonJS 仕様とは何ですか? CommonJS の仕様を理解するのに役立つと思います。

前に書きます:
ファイルはモジュールです。
なお、この記事のサンプルコードはnode.js環境で正常に動作する必要があり、正常に動作しないとエラーが発生します。実際、ES6 はすでにモジュール仕様に記載されています。ES6 モジュール仕様を使用する場合、node.js 環境は必要ありません。したがって、commonJS 仕様は ES6 モジュール仕様と区別する必要があります。

1. CommonJS 仕様はなぜ開発されたのですか?

バックエンドでは、JavaScript 仕様が大幅に遅れており、多くの欠陥があるため、JavaScript を使用して大規模なアプリケーションを開発することが困難になっています。例:

モジュールシステムがない
標準ライブラリが少ない
標準インターフェースがない
パッケージ管理システムがない
リストコンテンツ

CommonJS仕様は主にTo向けに提案されていますJavaScript は規格の不足を補い、小規模なブラウザサイド スクリプトを開発する段階に留まらず、Python、Ruby、Java などの大規模なアプリケーションを開発する段階に達しました。

2. CommonJS モジュール仕様
CommonJS モジュール仕様は、主にモジュール参照、モジュール定義、モジュール識別の 3 つの部分に分かれています。

1. モジュールリファレンス

a.js ファイルで次のステートメントを使用する場合、

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

は require() メソッドを使用することを意味し、math モジュールを導入して割り当てます。変数 math に。実際、名前付き変数名とインポートされたモジュール名は、次のように同じである必要はありません:

var Math=require('math');
ログイン後にコピー

代入の重要性は、a.js では Math のみが認識されることです。定義されていますが、数学が定義されていないため数学を認識できない変数。

パスありとパスなし

上記の例では、require パラメーターはパスを含まないモジュール名の文字列と参照だけです。は、.js が配置されている現在のディレクトリの node_modules ディレクトリにある数学モジュールです。現在のディレクトリにnode_modulesディレクトリがない場合、またはnode_modulesディレクトリに数学モジュールがインストールされていない場合は、エラーが報告されます。

インポートするモジュールが別のパスにある場合は、相対パスまたは絶対パスを使用する必要があります。例:

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

上記の例では、add.js ファイルは現在のディレクトリが導入され、値が割り当てられ、追加変数が与えられます。

2. モジュール定義

モジュール オブジェクト: 各モジュールでは、モジュール オブジェクトはモジュール自体を表します。
Export 属性: モジュール オブジェクトの属性。外部へのインターフェイスを提供します。

引き続き前の例を使用し、add.js のコードが次のようになっていると仮定します。

function add(num1,num2){
    alert(num1+num2);
}
ログイン後にコピー

a.js ファイルでは add.js ファイルが導入されていますが、前者は依然として後者の関数を追加すると、.js ファイル内の add(3,5) のようなコードは、add が関数ではないことを示すエラーを報告します。
add.js 内の関数を他のモジュールで使用するには、export 属性を使用してこの作業を完了します。 add.js のコードを次のように変更します。

exports.add=function (num1,num2){
    alert(num1+num2);
}
ログイン後にコピー

a.js ファイルは、add.js のメソッドを通常どおり呼び出すことができます。たとえば、add.add(3,5) のような呼び出しは通常どおり実行できます。前の add はこのファイルの add 変数で表されるモジュールを意味し、後の add はモジュールを導入する add メソッドを意味します。

3. モジュール識別

モジュール識別は、require メソッドに渡されるパラメータを指します。これは、キャメル ケースで指定された文字列、または次の形式である必要があります。 .、..、先頭の相対パス、または絶対パス。

3. CommonJS モジュール仕様の利点
CommonJS モジュール仕様は、各モジュールが独立した空間を持ち、相互に干渉しません。他のソリューションと比較すると見劣りします。

CommonJS 標準定義モジュールは非常にシンプルで、インターフェイスは非常に簡潔です。

CommonJS モジュール仕様では、インポートおよびエクスポート機能がサポートされているため、各モジュールをスムーズに接続し、相互の依存関係を実現できます。

以上がCommonJSの仕様とは何ですか? CommonJS 仕様を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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