モジュール(パッケージ)
伝統的なJSの欠点を導入
ページ全体では、我々は、特殊効果のすべてが内側にあり、JSファイルを書きました
カップリングには、トラブルを修復し、コードの間に高すぎる、あまりにも強い相関であります
グローバル変数は容易に汚染します
複雑なJSファイルには、複数の機能のjsファイルに分割した場合
短所:
維持が困難ファジー依存過大な要求が発生し、
これは、開発の伝統的なパターンである、それが出て放棄されています
だから我々は、モジュール式の開発モデルを使用します
なぜモジュラー
コードとの相関を低下させます
導入が簡単
良好な分離、需要の読み込み、名前の競合を避けるため、簡単に維持するために、
モジュラーは何ですか
仕様自ノード(ブロック)仕様CommonJS
ノード-v検出モード版
ノードのファイル名:ノードはJavaScript環境では、ノードjsの内部には、ファイル、ドライserverコマンドを実行することができます
commonjsモジュール、あなたはブラウザ側を使用している場合、サーバーではなく、ブラウザに標準化された操作のノードで、コンパイル(参照ツールbrowserifyののWebPACKの一気など)をパッケージ化されたファイルを使用する必要があります
オブジェクトの性質が露出しています
各JSファイルは、外部インターフェイスにさらされなければなりません
モジュールを書き込み、外部露出インターフェース、modele.exportsの= {}またはexports.xxx =
パスのパス注:現在のファイル場合は、./を付ける必要がありインジェクションモジュールは、()のパラメータが必要です。あなただけのファイル名を記述する場合、ファイルがnode_modulesであります
公開されたオブジェクトの性質は、輸出のコーナーをcommonjs
module.exportsは= {}とexports.xxx =差?
両方の露光は、本質的に同じであり、輸出の前標的輸出にさらされている輸出に元に追加され、元のカバーのメモリアドレスになります
commonjsは、ノードが当たり前である、同期的にロードされ、ブラウザでの同期ロードは、あなたが使用しなければならない場合は、パッケージを編集する必要がなければならない限り、リンクを実行することはできません背後に立ち往生として、それは、推奨されていない、ピットであります
ウェブ端のために、各モジュールであり、各モジュールがインタフェースに露出されなければならないJS、各ファイルをJS、モジュールを導入するためのグローバル必要()メソッドがあります
モジュール:
パッケージ(モジュール)を運ぶ1.node、パスのURL FS
2.サードパーティ製のモジュールweui / jqueryの/ axios / zepto
3.カスタムモジュール:我々は書きます
コンフィギュレーションモジュールの説明ファイルには、NPMのiinitは、パッケージファイルpackage.jsonを生成し、
バージョン:バージョン番号
desciption:説明
メイン:index.js私たちは、メインファイルindex.jsファイルの文書、および残りはサブモジュールです
ブラウザでは、必要に言った:定義されていません。
説明ブラウザはcommonjsをサポートしていない、あなたは梱包ツールを習得する必要があります
1.browserify