モジュール化の基本概念モジュール化とは何か
プログラミングにおけるモジュール性とは、固定されたルールに従って、大きなファイルを複数の独立した相互依存する小さなモジュールに分割することを意味します。 モジュール分解の利点
Node.js のモジュール性Node.js のモジュールの分類Node.js では、モジュールはソースに応じて 3 つのカテゴリに分類されます。 1. 組み込みモジュール(組み込みモジュールは、fs、path、http など、Node.js によって公式に提供されています) 2. カスタムモジュール(ユーザーが作成した各.jsファイルはカスタムモジュールです) 3. サードパーティモジュール(サードパーティが開発したモジュール、公式に提供された組み込みモジュールやユーザーが作成したカスタムモジュールではなく、使用前にダウンロードする必要があるモジュール) モジュールの読み込みrequire() メソッドを使用すると、必要な組み込みモジュール、ユーザー定義モジュール、サードパーティ モジュールをロードして使用できます。 //組み込みの fs モジュールをロードします。const fs = require('fs') // ユーザー定義モジュールをロードする const custom = require('./custom.js') //サードパーティのモジュールをロードする const moment = require('moment') 注意: require() メソッドを使用して他のモジュールをロードすると、ロードされたモジュールのコードが実行されます。 モジュールのスコープ
//ファイル: 01.custom.js const username = '张三' //モジュールスコープで定数ユーザー名を定義する 関数 sayHello(){ console.log('Hello everyone, I am:' + username) //モジュールスコープでsayHello関数を定義する } //ファイル: 02.custom.js const custom = require('./01.custom') // 01.custom ファイルをインポート console.log(custom) // 出力 {} 空のオブジェクト。01.custom.js モジュールのプライベート メンバーは 02.custom.js モジュールではアクセスできません モジュールスコープのメンバーを外部に共有するモジュールオブジェクト各 .js カスタム モジュールにはモジュール オブジェクトがあり、現在のモジュールに関連する情報を格納します。 カスタム モジュールでは、module.exports オブジェクトを使用して、モジュール内のメンバーを外部で共有できます。 外部が require() メソッドを使用してカスタム モジュールをインポートすると、取得されるのは module.exports によって指されるオブジェクトです。 注意: require() メソッドを使用してモジュールをインポートする場合、インポートの結果は常に module.exports が指すオブジェクトに基づきます。 例えば: //ファイル: 01.custom.js module.exports.username = 'zs' // module.exports オブジェクトに属性 username をマウントします module.exports.sayHello = function(){ console.log('Hello') //モジュールスコープでsayHello関数を定義する } module.exports = { // module.exports が新しいオブジェクト nickname:'Xiao Ming' を指すようにします。 こんにちは(){ console.log('こんにちは!') } } //ファイル: 02.custom.js const custom = require('./01.custom.js') // 01.custom ファイルをインポート console.log(custom) //出力 { nickname:'Xiao Ming', sayHi:[Function:sayHi]} エクスポートオブジェクトmodule.exports という単語は書き方が複雑なので、Node は、メンバーを外部で共有するコードを簡素化するために exports オブジェクトを提供します。デフォルトでは、エクスポートと module.exports は同じオブジェクトを参照します。最終的な共有結果は、依然として module.exports によって指されるオブジェクトに基づいています。 エクスポートと module.exports の誤用
注: 各モジュール内では、モジュール変数は現在のモジュールを表します。 モジュール変数はオブジェクトであり、そのエクスポートプロパティ(つまり、module.exports)は外部インターフェースです。 モジュールをロードすると、実際にはモジュールの module.exports プロパティがロードされます。モジュールをロードするには、require() メソッドが使用されます。 npmとパッケージバッグNode.js のサードパーティ モジュールはパッケージとも呼ばれます。 コンピュータとコンピューターが同じものを指すのと同じように、サードパーティのモジュールとパッケージは、名前が異なるだけで同じ概念を指します。 Node.js の組み込みモジュールは低レベルの API のみを提供するため、組み込みモジュールに基づいてプロジェクトを開発する場合、効率が非常に低くなります。 パッケージは組み込みモジュールに基づいてカプセル化されており、より高度で便利な API を提供し、開発効率を大幅に向上させます。 パッケージと組み込みモジュールの関係は、jQuery とブラウザの組み込み API の関係に似ています。 パッケージのダウンロード方法npm, Inc. は、https://registry.npmjs.org/ サーバーから必要なパッケージをダウンロードしてローカルで使用できるパッケージ管理ツールを提供しています。 このパッケージ管理ツールの名前は Node Package Manager (略して npm パッケージ管理ツール) です。このパッケージ管理ツールは、Node.js インストール パッケージと一緒にユーザーのコンピューターにインストールされます。 ターミナルで npm -v コマンドを実行すると、コンピューターにインストールされている npm パッケージ管理ツールのバージョンを表示できます。 まず、ウィンドウのロゴと R を使って開き、「cmd」と入力し、ウィンドウを開いて「npm -v」と入力します。 プロジェクトにパッケージをインストールするコマンド使用するソフトウェアはWebStorm2021です。以下の手順はすべてWebStorm2021ソフトウェアのターミナルで実行されます。 npm install パッケージのフルネーム(npm install コマンド実行時に、最後に -g パラメータを追加すると、パッケージはグローバル パッケージとしてインストールされます。) パッケージがインストールされると、プロジェクト フォルダーに node_modules というフォルダーと package-lock.json 構成ファイルが表示されます。 node_modules フォルダーは、プロジェクトにインストールされたすべてのパッケージを保存するために使用されます。 require() がサードパーティのパッケージをインポートする場合、このディレクトリからパッケージを検索してロードします。 package-lock.json 構成ファイルは、パッケージ名、バージョン番号、ダウンロード アドレスなど、node_modules ディレクトリ内の各パッケージのダウンロード情報を記録するために使用されます。 注意: インストール パッケージは、良好なネットワーク環境で実行する必要があります。 特定のバージョンのパッケージをインストールする npm install コマンドを使用してパッケージをインストールすると、パッケージの最新バージョンが自動的にインストールされます。特定のバージョンのパッケージをインストールする必要がある場合は、パッケージ名の後に @ 記号を使用して特定のバージョンを指定できます。例: npm install [email protected] 注: npm install コマンド (または npm i) を実行すると、すべての依存パッケージを一度にインストールできます。 (これは node_modules プロジェクトを削除した後です)。 パッケージをアンインストールする パッケージをアンインストールするコマンドは、npm uninstall パッケージのフルネームです。 ダウンロード速度が遅い問題を解決するダウンロード速度が遅いのはなぜですか?npm を使用してパッケージをダウンロードする場合、デフォルトでは海外の https://registry.npmjs.org/ サーバーからダウンロードされます。このとき、ネットワーク データの伝送には長い海底光ケーブルを経由する必要があるため、ダウンロード速度が非常に遅くなります。 ソリューション 1 - Taobao NPM ミラー サーバーTaobao は、海外の公式サーバーから国内サーバーにパッケージを同期し、中国でパッケージのダウンロード サービスを提供するために特別に設計されたサーバーを中国に構築しました。 これにより、梱包のスピードが大幅に向上します。 (ミラーリングはファイル ストレージの形式であり、1 つのディスク上のデータが別のディスク上に同一のコピーとして存在します。) 解決策2 - npmパッケージミラーソースを切り替えるパッケージのミラー ソースは、パッケージがダウンロードされるサーバー アドレスを指します。 ソリューション 3 - nrmパッケージのミラーソースをより便利に切り替えるために、nrmツールをインストールすることができます。nrmが提供するターミナルコマンドを使用すると、パッケージのミラーソースをすばやく表示および切り替えることができます。 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Prometheus を使用して、MySQL の自動増分主キーの残りの使用可能パーセンテージをカウントします。
>>: Nginx Linux のインストールと展開の詳細なチュートリアル
目次Dockerイメージのダウンロードmysqlとnacosを起動する独自のJavaプロジェクトを変...
テーブルを作成テーブルテーブル名を作成create table if not exists 表名 m...
ある読者から連絡があり、ダウンロードが終了し、操作がまだ開始されていないのに、なぜ Tomcat の...
初めて MySQL FUNCTION を書いたとき、エラーが何度も発生しました。 Err] 1064...
1. マインドマップ 2. コンテナの構築方法2.1 実験環境の準備(1)環境選択管理ツール: D...
Linux システムのネットワーク接続を構成するのは難しい場合があります。幸いなことに、多くの新しい...
<> 演算子機能: 等しくないことを示します。注: 「!=」演算子と同じ機能を持ちますが...
Docker テクノロジの開発により、マイクロサービスの実装にさらに便利な環境が提供されます。Doc...
コンテンツ属性は通常、::before および ::after 疑似要素で使用され、疑似要素のコンテ...
React は、開発者が Web およびモバイルベースのアプリケーションを作成するために使用するオ...
目次1. 閉鎖の概念追加の知識ポイント: 2. 閉鎖の役割: 3. 閉鎖例3.1 liをクリックする...
基本的な概念: Macvlanの動作原理: Macvlan は、Linux カーネルでサポートされて...
この記事では、Linux で PHP curl 拡張機能をインストールする方法について説明します。ご...
この記事では、シンプルなカルーセル効果を実現するためのJavaScriptの具体的なコードを参考まで...
背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ね...