国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

js模塊加載方式淺析

2024-05-06 16:38:59
字體:
供稿:網(wǎng)友

簡介: 前端模塊化開發(fā)日漸鼎盛,如何將零散的插件或者是普通的js腳本文件統(tǒng)一管理及引用,是眾多開發(fā)者共同的目標(biāo)。本人是從事.net開發(fā)的,最近對前端的一些東西特別的感興趣,也會(huì)嘗試的夾雜一點(diǎn)自己的想法,寫一些小東西。東西不牛逼,但是感覺用起來還是方便那么一點(diǎn)的。

下面就展示一下簡短的小代碼。

中心思想:通過外部調(diào)用事先封裝好的模塊加載方法,傳入?yún)?shù)(包括主目錄及模塊js或者css的目錄 ),在程序運(yùn)行的同時(shí),會(huì)動(dòng)態(tài)的將相應(yīng)的css或者是js代碼追加引用到head標(biāo)簽內(nèi),這樣,就可以使用被引用的文件的樣式或者方法啦。

源文件:

(function(req) {  window._Req= req;})((function($) {  var _factory = function() {}; //模塊工廠  //docker  _factory.prototype = {    _origin: location.origin || location.protocol + "//" + location.host,//域名地址    _aim: null,    _config: function(param) {      var _default = { //默認(rèn)參數(shù)          _coreDir: "",          _moduleArr: [            ['', '']          ], //模塊數(shù)組        },        _opt = {};      $.extend(_opt, _default);      if (typeof param === 'object')        $.extend(_opt, param);      this._aim = _opt;      this._load();  //加載模塊    },    _load: function() {      try {        var _modules = this._aim._moduleArr,          _core = this._aim._coreDir;        _modules.forEach(function(_element) {          _element.forEach(function(_ele) {            var _index = _ele.lastIndexOf('.'),               _moduleType = _ele.substring(_index + 1),               _moduleDir = _core + '/' + _ele,               _module = null;            switch (_moduleType) {              case 'js':                _module = document.createElement('script');                _module.src = _moduleDir;                break;              case 'css':                _module = document.createElement('link');                _module.href = _moduleDir;                _module.rel = 'stylesheet';                break;              default:                console.error("對不起模塊類型不匹配");                break;            }            document.head.appendChild(_module);           });        }, this);      } catch (ex) {        throw ex;      }    }  };  return new _factory(); //返回工廠})(jQuery))

調(diào)用:

_Req._config({    _coreDir: "../jq-package",          _moduleArr: [            ['js/ui-dialog.js', 'css/dialog.css']          ], //模塊數(shù)組 });

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 仁化县| 亳州市| 华坪县| 新巴尔虎右旗| 游戏| 高尔夫| 民丰县| 肥城市| 九龙城区| 惠安县| 凌海市| 徐州市| 铜山县| 宕昌县| 湟中县| 岳阳县| 宝应县| 开平市| 日土县| 颍上县| 珲春市| 交城县| 土默特右旗| 张家港市| 潼南县| 金塔县| 双辽市| 繁昌县| 尉氏县| 黑龙江省| 东丽区| 托克逊县| 通渭县| 崇左市| 萍乡市| 澄城县| 栾城县| 航空| 黄平县| 铜梁县| 襄樊市|