模組化主要是用來抽離公共**,隔離作用域,避免變數衝突等。
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...