簡介:前端模塊化開發(fā)日漸鼎盛,如何將零散的插件或者是普通的js腳本文件統(tǒng)一管理及引用,是眾多開發(fā)者共同的目標(biāo)。本人是從事.net開發(fā)的,最近對前端的一些東西特別的感興趣,也會嘗試的夾雜一點自己的想法,寫一些小東西。東西不牛逼,但是感覺用起來還是方便那么一點的。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),大姚企業(yè)網(wǎng)站建設(shè),大姚品牌網(wǎng)站建設(shè),網(wǎng)站定制,大姚網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,大姚網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
下面就展示一下簡短的小代碼。
中心思想:通過外部調(diào)用事先封裝好的模塊加載方法,傳入?yún)?shù)(包括主目錄及模塊js或者css的目錄 ),在程序運行的同時,會動態(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 + "http://" + 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í)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。