1. 程式人生 > >require與import的區別

require與import的區別

第一、兩者的載入方式不同,require是在執行時載入,而import是在編譯時載入

          require('./a')(); // a模組是一個函式,立即執行a模組函式

          vardata=require('./a').data; // a模組匯出的是一個物件

          var a =require('./a')[0]; // a模組匯出的是一個數組 ======> 哪都行

            import $ from'jquery';

            import * as _ from'_';

            import {a,b,c}

from'./a';

            import {default as alias, a as a_a, b, c} from'./a'; ======>用在開頭

第二、規範不同,require是CommonJS/AMD規範,import是ESMAScript6+規範

第三、require特點:社群方案,提供了伺服器/瀏覽器的模組載入方案。非語言層面的標準。只能在執行時確定模組的依賴關係及輸入/輸出的變數,無法進行靜態優化

import特點:語言規格層面支援模組功能。支援編譯時靜態分析,便於JS引入巨集和型別檢驗。動態繫結。