最初設想
require.js
var es = {}; es.each = function(arr, fn) { var i = 0; while(arr.length !== i) { fn(i, arr[i]); i++; } }; var count = 0; var cache = {}; var module = {}; module.exports = null; var arr = []; var require = function(m, cb) { while(m[0]) { var js = document.createElement("script"); js.src = m[0]; js.id = m[0]; js.charset = "utf-8"; document.querySelectorAll("head")[0].appendChild(js); count++; js.onload = function() { count--; if (count === 0) { es.each(arr, function(i, cb) { cb(require, module.exports, module); arr[i] = module.exports; }); cb.apply(null, arr) } }; m.shift(); } } var define = function(cb) { var id = document.currentScript.id; cache[id] = { status: "loading", callback: cb }; arr.push(cb); }; require(["a.js", "b.js"], function(a, b) { console.log(a);// aaa console.log(b);// bbb });
a.js
define(function(require, exports, module) { module.exports = "aaa"; });
b.js
define(function(require, exports, module) { module.exports = "bbb"; });
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/78943.html
摘要:在中,要說如果有幾乎會在每一個文件都要用到的一個全局函數(shù)和一個全局對象,那應該是非和莫屬了。它們是模塊機制的基石。若仍未返回,則為指定的模塊路徑依次加上,和,判斷是否存在,若存在則返回拼接后的路徑。 在 Node.js 中,要說如果有幾乎會在每一個文件都要用到的一個全局函數(shù)和一個全局對象,那應該是非 require 和 module.exports 莫屬了。它們是 Node.js 模塊...
摘要:環(huán)境變量法通過上一節(jié)的源碼分析,我們知道了的作用,那么如何使用或者優(yōu)雅的使用來解決依賴加載問題呢嘗試一最為直接的是,修改系統(tǒng)的環(huán)境變量。 模塊加載痛點 大家也或多或少的了解node模塊的加載機制,最為粗淺的表述就是依次從當前目錄向上級查詢node_modules目錄,若發(fā)現(xiàn)依賴則加載。但是隨著應用規(guī)模的加大,目錄層級越來越深,若是在某個模塊中想要通過require方式以依賴名稱或相對路...
摘要:的另一種形式測試踩坑之路代碼覆蓋率單元測試的代碼覆蓋率統(tǒng)計,是衡量測試用例好壞的一個的方法。 showImg(https://segmentfault.com/img/remote/1460000012564211?w=640&h=280); 項目地址: diana文檔地址: http://muyunyun.cn/diana/ 造輪子的意義 為啥已經(jīng)有如此多的前端工具類庫還要自己造輪...
摘要:最近有一個項目,考慮到要進行,所以要做成多頁面應用。為了保證開發(fā)速度和開發(fā)效率,所以決定使用做一套模塊化配置方案。 最近有一個項目,考慮到要進行 SEO,所以要做成多頁面應用。為了保證開發(fā)速度和開發(fā)效率,所以決定使用 webpack 做一套模塊化配置方案。 下面主要針對一些重要的點提供思路,并不作詳解。完整的代碼,我會放在 github(項目地址)上供大家參考,如果有優(yōu)化的地方,請在...
摘要:最近有一個項目,考慮到要進行,所以要做成多頁面應用。為了保證開發(fā)速度和開發(fā)效率,所以決定使用做一套模塊化配置方案。 最近有一個項目,考慮到要進行 SEO,所以要做成多頁面應用。為了保證開發(fā)速度和開發(fā)效率,所以決定使用 webpack 做一套模塊化配置方案。 下面主要針對一些重要的點提供思路,并不作詳解。完整的代碼,我會放在 github(項目地址)上供大家參考,如果有優(yōu)化的地方,請在...
閱讀 1504·2021-10-11 10:59
閱讀 1876·2021-09-09 11:36
閱讀 1384·2019-08-30 15:55
閱讀 1327·2019-08-29 11:20
閱讀 3063·2019-08-26 13:39
閱讀 1466·2019-08-26 13:37
閱讀 1958·2019-08-26 12:11
閱讀 1324·2019-08-23 14:28