JavaScriptのモジュールの型は?

2850 ワード


なぜ
複数の作者のコードをうまく扱えるようにする

メインゴール
  • カプセル化
  • グローバル範囲から個人的な詳細を隠している


  • 方法
    閉鎖、オブジェクト、クラス
  • を使用することによる
  • DIY
  • ノード.require ()
  • を使用したjs
    輸入と輸出を使用すること

    DIY閉鎖の使用
    通常、IFEによって、すべてがその機能範囲の中にあるように

    ノードの使用js require ()
    輸出する
        exports.foo = …
    
    または1つのアイテムをエクスポートするには
        modules.exports = …
    
    輸入する
    const http = require("http");
    const stats = require("./stats.js");
    
    Webpackはこのフォーマットを使用することができます…しかし、それはちょうどEs 6輸入と輸出を使うほうがよいかもしれません

    インポートエクスポート
  • 各ファイルは、モジュール
  • である
  • 明示的に
  • エクスポートされない限り、すべてのものはモジュールにプライベートです

    エクスポート
    すべてのコード、または最後にエクスポートするための1つのエクスポートキーワードを使用してエクスポートする
    export foo = 123;
    export function bar() { … }
    export class Wah…
    
    または、最後に、
    export { foo, bar, Wah };
    

    デフォルトエクスポート
    これは、他のモジュールを簡単にインポートすることができます
    import Foo from "...";
    
    そして、それは
    export default Foo;
    

    輸入
    デフォルトでインポート
    import Foo from "./Foo.js";
    
    インポート複数のエクスポート
    import { foo, bar } from "./Foo.js"
    
    可能であるが、両方とも輸入するのが少し珍しい
    import Foo, { bar, wah } from "./Foo.js"
    
    インポートリネーム
    import Foo as Bar from "./Foo.js"
    
    それは再エクスポートも可能です.
    詳細については、https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/importを参照できます