使用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 相关文章推荐
起点页面传值js,有空研究学习下
Jan 25 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
Oct 08 Javascript
jQuery实现div横向拖拽排序的简单实例
Jul 13 Javascript
什么是JavaScript中的结果值?
Oct 08 Javascript
学习使用jQuery表单验证插件和日历插件
Feb 13 Javascript
微信小程序 五星评价功能的实现
Mar 09 Javascript
基于js 字符串indexof与search方法的区别(详解)
Dec 04 Javascript
Vue 实现树形视图数据功能
May 07 Javascript
jQuery插件jsonview展示json数据
May 26 jQuery
微信小程序项目总结之点赞 删除列表 分享功能
Jun 25 Javascript
vue展示dicom文件医疗系统的实现代码
Aug 27 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
Feb 28 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缓存类实例
2014/07/18 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
百度地图API使用方法详解
2015/08/25 PHP
对联广告js flash激活
2006/10/19 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
python 中字典嵌套列表的方法
2018/07/03 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
python web框架中实现原生分页
2019/09/08 Python
基于numpy中的expand_dims函数用法
2019/12/18 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
2020/08/07 Python
python如何随机生成高强度密码
2020/08/19 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
HTML5通用接口详解
2016/06/12 HTML / CSS
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
写给女朋友的道歉信
2014/01/12 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫