前端模組化發展歷程

2021-08-02 05:15:20 字數 1180 閱讀 7697

模組化主要是用來抽離公共**,隔離作用域,避免變數衝突等。

amd、cmd、commonjs 是es5中提供的模組化程式設計方案,es6 modules 是es6提供的模組化程式設計方案。

使用自執行函式來編寫模組化。

特點:在乙個單獨的函式作用域中執行**,避免變數衝突。

(function() ;

})();

amd 是 requirejs 在推廣過程中對模組定義的規範化產出,是乙個非同步模組定義,它是乙個概念,requirejs是對這個概念的實現。

特點:依賴前置(依賴必須提前宣告好)

下面示例,package/lib 就是依賴。

define(['package/lib'], function(lib) 

return

});

cmd 是 seajs 在推廣過程中對模組定義的規範化產出,是乙個同步模組定義,是seajs的乙個標準,seajs是cmd概念的乙個實現。

特點:支援動態引入依賴檔案

define(function(require, exports, module) );
通過 define 定義,沒有依賴前置,通過 require 載入模組,cmd是依賴就近,在什麼地方使用到模組就在什麼地方 require 該模組,即用即返,這是乙個同步的概念。

node 中自帶的模組化。

通過 module.exports 定義,瀏覽器並不支援 module.exports,只能在 node.js 中使用。瀏覽器一般使用 amd、cmd、es6 module 等定義模組化開發。

var fs = require('fs');

exports.age = 22;

module.exports =

相容 amd,commonjs 模組化語法。

webpack 2.x 版本中的**分割。

es6 引入的模組化,使用 import,export,export default 來匯入匯出模組。

import a from 'a';

const name = 'jim';

export const age = 22;

export

介紹前端模組化發展歷程

iife 使用自執行函式來編寫模組化,特點 在乙個單獨的函式作用域中執行 避免變數衝突。function amd 使用requirejs 來編寫模組化,特點 依賴必須提前宣告好 define index.js function code cmd 使用seajs 來編寫模組化,特點 支援動態引入依賴檔...

模組化演變歷程

程式模組化開發的優點 開發效率高 方便重用,別人開發的模組直接拿過來就可以使用,不需要重複開發類似的功能 可維護性高 軟體的宣告週期中最長的階段其實並不是開發階段,而是維護階段,需求變更比較頻繁,使用模組化的開發方式更容易維護 一 演變歷程 1,全域性函式 人為模組 function sum a,b...

AppDelegate模組化歷程

在考慮這個方案的時候,我們的專案剛剛度過了原型期,使用的sdk並不多,業務需求也還沒有起來。void setupreachability end void setupreachability else if reach.currentreachabilitystatus reachableviawi...