明霞山资源网 Design By www.htccd.com
简介: 前端模块化开发日渐鼎盛,如何将零散的插件或者是普通的js脚本文件统一管理及引用,是众多开发者共同的目标。本人是从事.net开发的,最近对前端的一些东西特别的感兴趣,也会尝试的夹杂一点自己的想法,写一些小东西。东西不牛逼,但是感觉用起来还是方便那么一点的。
下面就展示一下简短的小代码。
中心思想:通过外部调用事先封装好的模块加载方法,传入参数(包括主目录及模块js或者css的目录 ),在程序运行的同时,会动态的将相应的css或者是js代码追加引用到head标签内,这样,就可以使用被引用的文件的样式或者方法啦。
源文件:
(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 = { //默认参数
_coreDir: "",
_moduleArr: [
['', '']
], //模块数组
},
_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))
调用:
_Req._config({
_coreDir: "../jq-package",
_moduleArr: [
['js/ui-dialog.js', 'css/dialog.css']
], //模块数组
});
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
js,模块,加载
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。