模組化開發

2021-10-16 16:38:30 字數 2167 閱讀 1243

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**

特性:1.esm自動採用嚴格模式。忽略use strict

2.每個es module模組都是執行在單獨的私有作用域中

3.esm是通過cros方式請求外部js模組

4.esm的script標籤會延遲執行指令碼:等待渲染完成後執行指令碼,首先顯示頁面元素

esm匯入匯出
export:匯出變數值,無法在import檔案中修改

import from 『模組1

esm瀏覽器環境polyfill
ie瀏覽器不支援 es module 的script標籤

script 標籤引入es-module-loader模組,使ie相容module特性

src=

src=

src = 相容promise特性

esm在node.js中使用
1.修改js檔案字尾為.mjs,新版本esm可通過在pakage.json檔案中配置type = 'module』實現,不用修改字尾名為mjs

2.啟動js檔案:node --experimental-modules index.mjs【檔名】

注意:import匯入不支援第三方模組,因為第三方模組匯出預設成員default

允許通過import方式提取系統內建成員,因為內建模組相容esm提取成員方式

esm在node環境中使用commonjs
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...