commonjs規範:同步模式載入模組,導致效率低–node.js環境乙個檔案就是乙個模組
每個模組都有單獨地作用域
通過module.exports匯出成員
通過require函式載入模組
amd(asynchronous module definition)規範:使用相對複雜
模組js檔案請求頻繁
require.js定義,載入模組
//定義乙個模組
define
('module1【模組名】',[
'jquery【依賴1】'
,'./module2【依賴2】'],
function
($,module2)
)module2()
}}})
//載入模組
require([
'./module1'],
function
(module1)
)
sea.js+cmd規範【類似commonjs規範】:
define
(function
(require,exports,module)
)}
esm特性通過給script標籤新增type = module屬性,就可以用es module 標準執行其中js**esm匯入匯出特性:1.esm自動採用嚴格模式。忽略use strict
2.每個es module模組都是執行在單獨的私有作用域中
3.esm是通過cros方式請求外部js模組
4.esm的script標籤會延遲執行指令碼:等待渲染完成後執行指令碼,首先顯示頁面元素
export:匯出變數值,無法在import檔案中修改esm瀏覽器環境polyfillimport from 『模組1
ie瀏覽器不支援 es module 的script標籤esm在node.js中使用script 標籤引入es-module-loader模組,使ie相容module特性
src=
src=
src = 相容promise特性
1.修改js檔案字尾為.mjs,新版本esm可通過在pakage.json檔案中配置type = 'module』實現,不用修改字尾名為mjsesm在node環境中使用commonjs2.啟動js檔案:node --experimental-modules index.mjs【檔名】
注意:import匯入不支援第三方模組,因為第三方模組匯出預設成員default
允許通過import方式提取系統內建成員,因為內建模組相容esm提取成員方式
1.esm支援匯入commonjs模組,但匯入預設成員:import 模組1 = 『模組url』2.commonjs不能通過require匯入esm模組
3.commonjs始終匯出預設成員
4.import不是結構匯出成員
5.使用區別:
模組化開發
講模組化開發之前,我們先了解一下 傳統開發模式 是什麼?比如說a所在的公司在做乙個專案,公司安排a跟b還有c三個人一起協同開發,a負責一部分功能塊,b負責另一部分功能塊,把專案的功能分成一塊一塊,這適用於多人協作開發,每個人負責不同的功能塊,當然,這其中有人是負責整合的,有人是負責開發公共功能塊的等...
模組化開發
寫在前面 面試時常被問到,你知道什麼是模組化開發嗎?模組化開發能帶來什麼好處?下面的內容可以幫助你簡單了解什麼是模組化開發,從對它模糊的印象中看到一些清晰的輪廓,幫助你了解模組化開發的現狀,以對選擇哪種模組化開發有個選擇的方向。目錄 什麼是模組化開發 模組化開發的意義 模組化開發的好處 1 避免變數...
模組化開發
模組化的提出 對於一些程式,函式組成少的時候,可以放在乙個原始檔中。如下面的 猜硬幣遊戲 只有4個函式組成 include include include using namespace std void prn instruction void play intget call from user...