JS篇(008)-require 與 import 的區別

答案:二者的加載方式不一樣、規範不一樣jquery

第1、二者的加載方式不一樣,require 是在運行時加載,而 import 是在編譯時加載git

require('./a')(); // a 模塊是一個函數,當即執行 a 模塊函數github

var data = require('./a').data; // a 模塊導出的是一個對象web

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'; ======>用在開頭優化

第2、規範不一樣,require 是 CommonJS/AMD 規範,import 是 ESMAScript6+規範ui

第3、require 特色:社區方案,提供了服務器/瀏覽器的模塊加載方案。非語言層面的標準。只能在運行時肯定模塊的依賴關係及輸入/輸出的變量,沒法進行靜態優化。

import 特色:語言規格層面支持模塊功能。支持編譯時靜態分析,便於 JS 引入宏和類型檢驗。動態綁定。

參與互動

相關文章
相關標籤/搜索