ecma組織參考了眾多社群模組化標準,終於在2023年,隨著es6發布了官方的模組化標準,後成為es6模組化
es6模組化具有以下的特點
使用依賴預宣告的方式匯入模組
依賴延遲宣告
優點:某些時候可以提高效率
缺點:無法在一開始確定模組依賴關係(比較模糊)
依賴預宣告
優點:在一開始可以確定模組依賴關係
缺點:某些時候效率較低
靈活的多種匯入匯出方式
規範的路徑表示法:所有路徑必須以./或…/開頭
注意:這一部分非模組化標準
目前,瀏覽器使用以下方式引入乙個es6模組檔案
src=
"入口檔案"
type
="module"
>
es6中的模組匯入匯出分為兩種:
基本匯入匯出
預設匯入匯出
類似於exports.*** = ***x
基本匯出可以有多個,每個必須有名稱
基本匯出的語法如下:
export 宣告表示式
或
export
由於基本匯出必須具有名稱,所以要求匯出內容必須跟上宣告表示式或具名符號
由於使用的是依賴預載入,因此,匯入任何其他模組,匯入**必須放置到所有**之前
對於基本匯出,如果要進行匯入,使用下面的**
import
from
"模組路徑"
注意以下細節:
每個模組,除了允許有多個基本匯出之外,還允許有乙個預設匯出
預設匯出類似於commonjs中的module.exports
,由於只有乙個,因此無需具名
具體的語法是
export
default 預設匯出的資料
或
export
由於每個模組僅允許有乙個預設匯出,因此,每個模組不能出現多個預設匯出語句
需要想要匯入乙個模組的預設匯出,需要使用下面的語法
import 接收變數名 from
"模組路徑"
類似於commonjs中的
var 接收變數名 =
require
("模組路徑"
)
由於預設匯入時變數名是自行定義的,因此沒有別名一說
如果希望同時匯入某個模組的預設匯出和基本匯出,可以使用下面的語法
import 接收預設匯出的變數,
from
"模組路徑"
注:如果使用*號,會將所有基本匯出和預設匯出聚合到乙個物件中,預設匯出會作為屬性default存在 模組化開發
講模組化開發之前,我們先了解一下 傳統開發模式 是什麼?比如說a所在的公司在做乙個專案,公司安排a跟b還有c三個人一起協同開發,a負責一部分功能塊,b負責另一部分功能塊,把專案的功能分成一塊一塊,這適用於多人協作開發,每個人負責不同的功能塊,當然,這其中有人是負責整合的,有人是負責開發公共功能塊的等...
模組化開發
commonjs規範 同步模式載入模組,導致效率低 node.js環境 乙個檔案就是乙個模組 每個模組都有單獨地作用域 通過module.exports匯出成員 通過require函式載入模組 amd asynchronous module definition 規範 使用相對複雜 模組js檔案請求...
模組化開發
寫在前面 面試時常被問到,你知道什麼是模組化開發嗎?模組化開發能帶來什麼好處?下面的內容可以幫助你簡單了解什麼是模組化開發,從對它模糊的印象中看到一些清晰的輪廓,幫助你了解模組化開發的現狀,以對選擇哪種模組化開發有個選擇的方向。目錄 什麼是模組化開發 模組化開發的意義 模組化開發的好處 1 避免變數...