/*! @Title: Layui @Description:经典模块化前端框架 @Site: www.layui.com @Author: 贤心 @License:MIT */ ;!function(win) { "use strict"; var Lay = function() { this.v = '1.0.9_rls'; //版本号 }; Lay.fn = Lay.prototype; var doc = document, config = Lay.fn.cache = {}, // 获取本js所在目录 getPath = function() { var js = doc.scripts, jsPath = js[js.length - 1].src; return jsPath.substring(0, jsPath.lastIndexOf('/') + 1); }(), // 异常提示 error = function(msg) { win.console && console.error && console.error('Layui hint: ' + msg); }, // 检测opera环境 isOpera = typeof opera !== 'undefined' && opera.toString() === '[object Opera]', // 内置模块 modules = { layer : 'modules/layer', //弹层 laydate : 'modules/laydate', //日期 laypage : 'modules/laypage', //分页 laytpl : 'modules/laytpl', //模板引擎 layim : 'modules/layim', //web通讯 layedit : 'modules/layedit', //富文本编辑器 form : 'modules/form', //表单集 upload : 'modules/upload', //上传 tree : 'modules/tree', //树结构 table : 'modules/table', //富表格 element : 'modules/element', //常用元素操作 util : 'modules/util', //工具块 flow : 'modules/flow', //流加载 carousel : 'modules/carousel', //轮播 code : 'modules/code', //代码修饰器 jquery : 'modules/jquery', //DOM库(第三方) mobile : 'modules/mobile', //移动大模块 | 若当前为开发目录,则为移动模块入口,否则为移动模块集合 'layui.all' : 'dest/layui.all' //PC模块合并版 }; config.modules = {}; //记录模块物理路径 config.status = {}; // 记录已注册的模块集。 config.timeout = 10; //符合规范的模块请求最长等待秒数 config.event = {}; //记录模块自定义事件 // 定义模块 Lay.fn.define = function(deps, callback) { var that = this, type = typeof deps === 'function', mods = function() { // 参数callback,可选,用于回调。 // 回调参数function,用于回调时,注册模块。 typeof callback === 'function' && callback(function(app, exports) { // 回调参数function的参数app,必要,代表模块名。 // 回调参数function的参数exports,必要,代表模块的接口方法。 layui[app] = exports; // config.status,记录已注册的模块集。 config.status[app] = true; }); return this; }; // 参数deps,代表依赖的模块集,可选。 type && ( callback = deps, deps = [] ); // 相当于layui['layui.all'] || layui['layui.mobile'] // 模块名layui.all,代表所有模块。 // 模块名layui.mobile,代表手机版的所有模块。 // 如果已经加载所有模块,则直接执行回调。 if (layui['layui.all'] || (!layui['layui.all'] && layui['layu
layui.js源码分析
最新推荐文章于 2024-08-09 07:18:01 发布
本文深入探讨 layui.js 的源码实现,揭示其在 JavaScript 和 JSON 处理中的核心机制,同时关注其在移动开发场景的应用和优化。
摘要由CSDN通过智能技术生成