part02. モジュール化&CommonJSModuleSystem


ES 6構文とモジュール化&node。jsが使用するCommonJSを学ぶ


ComminJS導入背景


1.node.jsで使用されるrequire構文、module.exports, exports
2.モジュールの読み込み方法を理解する

モジュールの使用


ブラウザとノード。jsでのモジュールの使用の違い


ブラウザと違うのはNodejsの1つの特徴は、複数の内蔵モジュールが存在することです.
そのため、複数の組み込みモジュールをインポートして使用することを学ぶ必要があります.
既存のブラウザに他のスクリプトファイルをロードする場合、htmlファイルは<script>タグを使用して複数のjsファイル、nodeを処理します.jsにhtmlは存在しないため、JavaScriptファイルから他のスクリプトファイル、モジュールにアクセスするには、他のメソッドを使用する必要があります.

基本的な使い方

npm installを使用してnpmリポジトリから必要なモジュールをダウンロードし、ダウンロードしたモジュールをnode modulesに保存できます.
また、記憶されたモジュールを使用するためには、以下のようにモジュールを使用することができる.
const 해당 모듈이 담긴 변수 = require('해당 모듈 이름')
ファイルシステムに関連するモジュールが一度にインポートされる様々なモジュールがあります.
const fs = require('fs');

他のスクリプトの読み込み方法


他のスクリプトを読み込むには、require構文を使用する必要があります.
モジュールは最終的に別のスクリプトです.
同じディレクトリに2つのファイルがあると仮定し、2つのスクリプトファイルを作成してみます.
script1.js
const module2 = require('./script2.js'); // ./는 현재 디렉토리
script2.js
console.log(`this is module 2!!!`);
上のコード、script 1を表示します.jsでは、require構文script 2を使用します.jsファイルを読み込み中です.
ではシナリオ1jsでmodule 2に含まれる値はどれですか?
modele 2の値を取得するにはscript 2を使用します.jsファイルでアクションを返す必要があります.

モジュールに露出する方法


モジュールのコアは、モジュールを作成してエクスポートすることです.
そして、そのモジュールを使って使用できるようにしなければなりません.
モジュールで露光するためにはmodule.exportsが必要である.module.exportsは、私が作成したモジュールを他のスクリプトファイルに公開する方法です!
次のコードのscript 2です.jsの内容を暴露して返します.
script1.js
const module2 = require('./script2.js');
console.log(module2); // `this is module 2!!!`
script2.js
module.exports = `this is module 2!!!`;
上記のコードでは、module.exportsではなくexportsを使用してもよい.exportsは、module.exportsを参照してください.
このようにモジュールを露出させ、モジュールを組み込む方法をCommonJS 모듈 시스템と呼ぶ.
[node.js公式ドキュメントリファレンスリンク:Cycles]
https://nodejs.org/dist/latest-v14.x/docs/api/modules.html#modules_cycles
[node.js公式ドキュメントリファレンスリンク:module.exports]
https://nodejs.org/dist/latest-v14.x/docs/api/modules.html#modules_module_exports

require構文を使用して外部スクリプトを2回ロードした場合、外部スクリプトは2回実行されますか?一度運転してもいいですか?


正解:一度だけ実行!

CommonJS


commonJSはモジュールに関連しています.
モジュールのコアは、モジュールを作成してエクスポートし、他の場所でインポートして使用することです.
-各モジュールには独立した実行領域が必要です.
-モジュール定義は、グローバルオブジェクトとしてexportsオブジェクトを使用します.
-モジュールはrequire関数を使用します.