ES6 - 模組化

貓董發表於2018-12-18

ES6之前的模組化

  • ES5的js預設沒有模組化,是js社群自己制定了模組化規範:
    1. CommenJs:主要用於伺服器端,如nodeJs裡的require;
    2. AMD:主要用於客戶端,如requireJs和curlJs;
    3. CMD:主要用於客戶端,如seaJs;

ES6的模組化

  • ES6 統一了服務端和客戶端的模組化規範;而且ES6的模組化語法預設使用嚴格模式;
  • 如何定義模組:
    export const a = 1;
    export let b = 2;
    export default 12;
    複製程式碼
    const a = 1;
    let b = 2;
    export{
        a,
        b
    }
    複製程式碼
  • 如何引入模組:
    1. 引入整個js檔案:import '相對路徑/絕對路徑';
    2. 引入模組(必須用{}):import {a,b} from 'url';
    3. 引入default,不用加{}:import c,{a,b} from 'url';
    4. import 語句有提升效果,會自動放在頭部;
    5. 模組裡內容再定時器後變化,外面也會相應變化;
    6. import()語句:
      1. 返回一個promise物件,所有pormise的方法如then()等都可以使用;
      2. 動態引入,按需載入;
      3. 可以放在if語句裡面;
      4. 路徑也可以動態切換;
      5. 可以結合async/await語句使用;

相關文章