簡單模擬js的模組化依賴

2021-07-26 16:17:45 字數 873 閱讀 3285

為了使得js**更加規劃,以及更加有結構感。很多大神就開發了一套又一套的js庫。比如requirejs, commonjs, seajs等。

(function

(global)

}else

};//呼叫模組方法

varuse = function

(dependnames, fn)

};var resolvedepend = function

(dependnames)

dependmodules.push(module);

}return dependmodules;

}//採用閉包形式, 判斷型別方法呼叫

var typeof = function

() }();

//判斷是否是乙個陣列

var isarray = function

(a) /**對外暴露介面**/

global.defined = defined;

global.use = use;

})(window);

defined("d", function

(); });

defined("c", function

() });

defined("b", ["d"], function

(d);

});defined("a", ["b", "c"],function

(b, c)

});use(["a"], function

(a));

這裡只是簡單的模擬,真正要達到模組化框架,還有很多東西需要編寫,比如非同步載入js等。

js 模組化補充

補充 除了第一種的套路,還可以這樣使用第二種。都是用來自執行函式的。第二種的好處是,還可以返回乙個true。常用 function 小技巧 如果不加上!會報錯,加上之後還能返回true呢。但由於衡返回true。所以只有某些函式是只執行,不在於返回結果的可以用這種。function 相容套路1 適用於...

js模組化規範

標記已經載入成功的個數 var req total 0 模組匯出 window.exports 記錄各個模組的順序 var exp arr 判斷是否陣列 function isarray param require 真正實現 function require arr,callback else va...

理解JS 模組化

module.exports與exports,export與export default之間的關係和區別 js 模組化規範 最早是閉包的寫法,防止變數的汙染 多個js 用 defer 和 async amd 和 cmd 在es6 module 出現之後就退出歷史的舞台了 es6 module 瀏覽器...