使用mini-define实现前端代码的模块化管理


Posted in Javascript onDecember 25, 2014

mini-define

依据require实现的简易的前端模块化框架。如果你不想花时间学习require.js,也不想翻看长篇的cmd/amd规范,那么这个mini-define就是你不错的选择。如果你之前用过sea.js或require.js那么mini-define更加高效,更加轻量,更加易用。项目地址:github

用法

首先定义模块

定义模块

一:定义模块用define函数

1.1 根据是否有依赖,有两种情况:

1.1.1:没有依赖的模块

        define('id',function(){

            // put your code here

        });

1.1.2:有依赖的模块

        define('id',['modeA','modeB'],function(A,B){

            // put your code here

        });

1.2 根据是否需要返回处理结果给外部使用,又可以分两种情况:

1.2.1有返回对象:

            define('id',function(){

                return {

                    // put your code here

                }

            });

1.2.2 没有返回对象

            define('id',function(){

                // put your code here

            });

二: 调用模块用require()函数

2.1 根据请求的模块数,可以有两情况:

    2.1.1.调用单个模块

        require('modeId')

    2.1.2.调用多个模块
            require(['modeA','modeB']);
2.2 根据是否有回调处理,又可以分为两种情况:

    2.2.1 有回调处理函数

            require('modeId',function(mode){

                //put your code here

            });
            require(['modeA','modeB'],function(A,B){

                //put your code here

            });

    2.2.2 没有回调处理
            require('modeId');
然后在index.html页面依次引用所需模块

<!--核心模块-->

<script src="lib/core/require.js"></script>

<!--用于演示的模块-->

<script src="lib/main.js"></script>

<script src="lib/config.js"></script>

<script src="lib/init.js"></script>

最后就是用你喜欢的方式对lib目录进行合并压缩,生成一个min.js文件。 在发布应用的时候,相应的index.html也需要调整一下:

<script src="lib/min.js"></script>

优点:

相对于seajs.js或原版的require.js来说,加注释才一百来行的代码用轻量来形容都显胖,完全是骨感。
完全没有什么高深的内容,也没有复杂的技巧,几乎是零学习成本。

Javascript 相关文章推荐
基础的prototype.js常用函数及其用法
Mar 10 Javascript
css图片自适应大小
Nov 28 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
Apr 07 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
Apr 26 Javascript
jquery隔行换色效果实现方法
Jan 15 Javascript
arguments对象验证函数的参数是否合法
Jun 26 Javascript
javaScript给元素添加多个class的简单实现
Jul 20 Javascript
js中常用的Math方法总结
Jan 12 Javascript
简单实现js放大镜效果
Jul 24 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
Nov 11 Javascript
JS学习笔记之数组去重实现方法小结
May 29 Javascript
Vue环境搭建+VSCode+Win10的详细教程
Aug 19 Javascript
jQuery中html()方法用法实例
Dec 25 #Javascript
jQuery中val()方法用法实例
Dec 25 #Javascript
24款热门实用的jQuery插件推荐
Dec 24 #Javascript
js获取当前时间显示在页面上并每秒刷新
Dec 24 #Javascript
Javascript 多物体运动的实现
Dec 24 #Javascript
Javascript 运动中Offset的bug解决方案
Dec 24 #Javascript
jQuery中height()方法用法实例
Dec 24 #Javascript
You might like
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
php下Memcached入门实例解析
2015/01/05 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
挂科检讨书范文
2014/02/20 职场文书
餐饮业员工工作决心书
2014/03/11 职场文书
土地租赁协议书
2015/01/29 职场文书
银行培训心得体会范文
2016/01/09 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python
golang 语言中错误处理机制
2021/08/30 Golang