モジュール化の基本概念モジュール化とは何か
プログラミングにおけるモジュール性とは、固定されたルールに従って、大きなファイルを複数の独立した相互依存する小さなモジュールに分割することを意味します。 モジュール分解の利点
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 のインストールと展開の詳細なチュートリアル
目次概要予防1. 使用方法2. 実装手順予備実装コード効果: Geo共通設定上記の構成を追加した後の...
矢が放たれる前に、弓は矢にささやきました。「お前の自由は私のものだ。」スキーマは矢のようなもので、弓...
ページをナビゲートする2つの方法宣言型ナビゲーション: リンクをクリックしてナビゲーションを実現する...
序文React 16から、子コンポーネントで発生したエラーを捕捉し、エラーログを記録し、ダウングレー...
目次1. コンパイラコードフォーマット仕様設定2. Vueテンプレートの設定1. コンパイラコードフ...
前面に書かれたLinux を使用する際にソフトウェアをインストールする必要がある場合があります。もち...
今日は、企業の実際の本番環境でよく遭遇する、Nginx を新しいバージョンにアップグレードし、古いバ...
いろいろ苦労しましたが、やっと yum インストールの手順がわかりました。以前、バイナリ パッケージ...
この記事では、例を使用して、MySQL インデックスがソートに与える影響を説明します。ご参考までに、...
Python8のインストールを最小化した後、Python3.8.1をインストールしました。オンライン...
最近、Web 開発のフロントエンドとバックエンドの技術を学んだので、その後の管理を容易にするためにプ...
1. nmonの紹介Nmon (Nigel's Monitor) は、AIX および Lin...
ブログの正式名称は「Web log」で、中国語で「ネットワークログ」を意味します。後にブログに短縮さ...
■ ウェブサイトのテーマ計画 ウェブサイトのテーマが断片化しすぎないように注意してください。一般的に...
この記事では、一般的な基本的な Linux コマンドとその使用方法を例を使って説明します。ご参考まで...