JSのモジュール性の分析
この記事では主に JS のモジュール化の分析を紹介します。これを必要な友人に共有します。
1. モジュールとモジュール化とは何ですか?
複雑なプログラムを特定の仕様に従って複数のファイルにカプセル化し、それらを結合します2. なぜモジュール化するのでしょうか?
複雑さを軽減し、デカップリングを改善し、展開を容易にする3. モジュール化の利点
- 名前の競合を回避する (名前空間の汚染を減らす)
- より適切な分離、オンデマンドの読み込み
- 高い再利用性
4. モジュール仕様
1. CommonJS (ノードはこの仕様に基づいて記述されています)
注:
各ファイルはモジュールとみなすことができます サーバー側: モジュールは実行時に同期的にロードされますブラウザ側: モジュールは事前にコンパイルおよびパッケージ化する必要があります
基本構文:
モジュールの紹介: require(xxx)
サードパーティモジュール: xxx はモジュール名ですカスタムモジュール: xxx はモジュールファイルのパスです
公開されたモジュール: exports.xxx = 値module.exports = value
公開されたモジュールの本質は、exports オブジェクトです
Exports 自体は空のオブジェクトです exports.xxx = value は、属性またはメソッドをエクスポート オブジェクトに追加することです
Module .exports = value は、元の空のオブジェクトを新しい value オブジェクトで直接上書きします
実装:
サーバー側の実装: Node.js
ブラウザ側の実装: Browserify (CommonJS ブラウザ側のパッケージ化ツール)browserify をダウンロードしてインストールします
グローバル: npm install browserify -g
ローカル: npm install browserify --save-dev
モジュール コードを定義します (js ファイル コードと対応するコンテンツを公開します)
導入モジュール app.jsでrequireを使用してモジュールを導入しますが、ブラウザがrequireメソッドを認識しないのでjsをパッケージ化して処理する必要があります
browserify js/src/app.js -o js/distと入力します。ターミナルのルート ディレクトリの /bundle.js (js/src/app.js ソース ファイル js/dist/bundle.js はパッケージ化された出力ファイルです)
ページを使用して紹介:
(ブラウザが実際に実行するのは、パッケージ化され生成されたファイルです)
2. AMD
2. ブラウザ側のモジュール化仕様とモジュールロードに特別に使用されます 非同期です
基本構文:公開モジュールを定義します:
//定义没有依赖的模块: define(function(){ return 模块 }) //定义有依赖的模块: define(['module1','module2'],function(m1,m2){ return 模块 })
module を使用して導入します:
require(['module1','module2'],function(m1,m2){ 使用m1/m2 })
実装 (browユーザー側):
Require.js
3 、CMD (理解)
説明: 特にブラウザ側で使用され、モジュールのロードは非同期であり、モジュールは使用時にロードされて実行されます基本構文:
公開モジュールの定義:
//定义没有依赖的模块: define(function(require,exports,module){ exports.xxx = value module.exports = value }) //定义有依赖的模块: define(function(require,exports,module){ //引入依赖模块(同步) var module2 = require("./module2") //引入依赖模块(异步) require.async("./module3",function(m3){ }) //暴露模块 exports.xxx = value })
モジュールの導入と使用:
require(function(require){ var m1 = require('./module1') var m4 = require('./module4') m1.show() m4.show() })
実装(ブラウザ側): Sea.js
4、ES6
注: 依存モジュールコンパイルしてパッケージ化する必要がありますSyntax:
エクスポートモジュール:XXX
HITTRYモジュールをエクスポート:「URL」からXXXをインポートする
ページはじめに
インペンテーション(ブラウザー側):
Babel を使用して ES6 から ES5 コードをコンパイルする
B rowserify を使用する js のコンパイルとパッケージ化
以上がこの記事の全内容であり、その他の関連コンテンツについても役立つことを願っています。 、PHP 中国語 Web サイトに注意してください。 関連するおすすめ:
以上がJSのモジュール性の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

この記事では、Javaのコレクションフレームワークの効果的な使用について説明します。 データ構造、パフォーマンスのニーズ、スレッドの安全性に基づいて、適切なコレクション(リスト、セット、マップ、キュー)の選択を強調しています。 コレクションの使用を効率的に最適化します

エントリーレベルのタイプスクリプトチュートリアルをマスターしたら、TypeScriptをサポートするIDEで独自のコードを作成し、JavaScriptにコンパイルできるはずです。このチュートリアルは、TypeScriptのさまざまなデータ型に飛び込みます。 JavaScriptには、NULL、未定義、ブール値、数字、文字列、シンボル(ES6によって導入)とオブジェクトの7つのデータ型があります。 TypeScriptはこれに基づいてより多くのタイプを定義し、このチュートリアルではすべてを詳細に説明します。 ヌルデータ型 JavaScriptのように、Typescriptのnull

このチュートリアルでは、chart.jsを使用してパイ、リング、およびバブルチャートを作成する方法について説明します。以前は、4つのチャートタイプのchart.js:ラインチャートとバーチャート(チュートリアル2)、およびレーダーチャートと極地域チャート(チュートリアル3)を学びました。 パイとリングチャートを作成します パイチャートとリングチャートは、さまざまな部分に分かれている全体の割合を示すのに理想的です。たとえば、パイチャートを使用して、サファリの男性ライオン、女性ライオン、若いライオンの割合、または異なる候補者が選挙で受け取る票の割合を示すことができます。 パイチャートは、単一のパラメーターまたはデータセットの比較にのみ適しています。パイチャートのファンの角度はデータポイントの数値サイズに依存するため、パイチャートは値のあるエンティティをゼロ値で描画できないことに注意してください。これは、割合がゼロのエンティティを意味します
