模組化開發

2021-08-01 01:33:06 字數 1653 閱讀 5778

講模組化開發之前,我們先了解一下

傳統開發模式

是什麼?

比如說a所在的公司在做乙個專案,公司安排a跟b還有c三個人一起協同開發,a負責一部分功能塊,b負責另一部分功能塊,把專案的功能分成一塊一塊,這適用於多人協作開發,每個人負責不同的功能塊,當然,這其中有人是負責整合的,有人是負責開發公共功能塊的等等。

首先我們來看幾個栗子

function f1()

function f2()

兩個函式放一起,這就是乙個模組。什麼時候我們要用到就呼叫就行了。

但是這樣的做法並不可取,因為有很大概率會出現,a寫的功能塊有個show()方法,而b寫的功能塊同樣也有show(),那麼,可能到最後專案整合的時候,c想呼叫a功能塊的show()方法,卻呼叫了b的show()(a的show()被覆蓋),這樣就出現了變數命名衝突。有一種方法可以單純的解決這乙個問題。

立即執行函式:

(function()

show();

})();

a跟b的js檔案被c引用的時候,它們的show()都可以被呼叫,但是,這樣的話,c無法取到show()方法裡面的變數,因此,這也是不可取的做法。

那我們應該怎麼解決呢?這裡就說到我們的主角,模組化開發了,模組化開發就是來幫我們解決這個問題的。下面我會介紹乙個模組化開發庫 sea.js,這個庫的創始人是阿里巴巴的大神 玉伯。

首先在學sea.js之前,我們需要了解乙個東西,規範,所謂規範就相當於規則,你要用我開發的庫,就需要遵守一定的規範。sea.js遵循的規範是玉伯自己定義的,cmd規範,諸如此類的規範還有amd規範(適用於require.js),common.js規範(適用於node.js)等等。

一:sea.js分為兩個模組

1,定義模組

define(function( require, exports, module )

//通過exports把show方法 提供給外部使用

exports.a = show;

});

2,引用模組

seajs.use('模組的路徑', function(ex){});

二:使用sea.js

1,我們怎麼使用它呢?首先去網上把它download下來,放到你的專案裡面,在你的html上引用它。

接下來就是用定義模組來定義你的功能塊,舉個栗子:

define(function (require, exports, module)
exports.a=a;//講a變數暴露出去

exports.drag=drag;//將drag方法暴露出去

});

2,在html上使用引用模組來獲取你的定義好的功能塊

3,如果我們的功能塊a有需要引用功能塊b,那麼就在功能a上呼叫require();下面是栗子
var drag=require("./drag.js").drag;

這樣就把b功能塊的drag函式引用過來了,當然,也可以引用變數,只要該變數
有被暴露出來.

模組化開發

commonjs規範 同步模式載入模組,導致效率低 node.js環境 乙個檔案就是乙個模組 每個模組都有單獨地作用域 通過module.exports匯出成員 通過require函式載入模組 amd asynchronous module definition 規範 使用相對複雜 模組js檔案請求...

模組化開發

寫在前面 面試時常被問到,你知道什麼是模組化開發嗎?模組化開發能帶來什麼好處?下面的內容可以幫助你簡單了解什麼是模組化開發,從對它模糊的印象中看到一些清晰的輪廓,幫助你了解模組化開發的現狀,以對選擇哪種模組化開發有個選擇的方向。目錄 什麼是模組化開發 模組化開發的意義 模組化開發的好處 1 避免變數...

模組化開發

模組化的提出 對於一些程式,函式組成少的時候,可以放在乙個原始檔中。如下面的 猜硬幣遊戲 只有4個函式組成 include include include using namespace std void prn instruction void play intget call from user...