咱們都知道,雖然咱們能夠經過原型和繼承來使javascript面向對象。可是,當js代碼和邏輯過多時,代碼的維護和擴展會變的很不方便。這時,nodejs作的很是好,可是在瀏覽器端模塊化的js編程一直都是個難題。而requireJS就是來幫助咱們解決這個問題的。requireJS遵循amd規範,因此讓咱們先了解下關於AMD規範的事情。javascript
1、AMD規範css
AMD規範是瀏覽器端的模塊規範,它的全稱爲異步模塊定義。從名稱上看便知它是適合script tag的。也能夠說AMD是專門爲瀏覽器中JavaScript環境設計的規範。它吸收了CommonJS的一些優勢,但又不照搬它的格式。開始AMD做爲CommonJS的transport format 存在,因沒法與CommonJS開發者達成一致而獨立出來。它有本身的wiki 和討論組 。java
AMD設計出一個簡潔的寫模塊API:node
define(id?, dependencies?, factory);jquery
其中:git
define(function() { return { mix: function(source, target) { } }; });
ui.jsgithub
define(['base'], function(base) { return { show: function() { // todo with module base } } });
page.js編程
define([
'base'
],
function
(base) {
return
{
show:
function
() {
// todo with module base
}
}
});
data.jsapi
define({
users: [],
members: []
});
define(
'index'
, [
'data'
,
'base'
],
function
(data, base) {
// todo
});
define(
function
(require, exports, module) {
var
base = require(
'base'
);
exports.show =
function
() {
// todo with module base
}
});