使用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 相关文章推荐
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
Jul 26 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
Jan 13 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
Nov 13 Javascript
将字符串中由空格隔开的每个单词首字母大写
Apr 06 Javascript
js如何判断用户是否是用微信浏览器
Jun 05 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
Jan 26 Javascript
jquery css实现邮箱自动补全
Nov 14 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
Nov 10 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
Jan 15 Javascript
微信小程序点餐系统开发常见问题汇总
Aug 06 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
Sep 24 Javascript
微信小程序tab左右滑动切换功能的实现代码
Feb 08 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
ftp类(example.php)
2006/10/09 PHP
PHP邮件专题
2006/10/09 PHP
php类常量的使用详解
2013/06/08 PHP
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
2009/11/14 Javascript
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
jquery实现省市select下拉框的替换(示例代码)
2014/02/22 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
JavaScript中九种常用排序算法
2014/09/02 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
jQuery实现的支持IE的html滑动条
2015/03/16 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
2016/08/25 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
浅谈Python中数据解析
2015/05/05 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
python方向键控制上下左右代码
2018/01/20 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
Python谱减法语音降噪实例
2019/12/18 Python
浅谈Tensorflow 动态双向RNN的输出问题
2020/01/20 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
波兰珠宝品牌:YES
2019/08/09 全球购物
购买原创艺术品:Zatista
2019/11/09 全球购物
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
2014/03/16 面试题
冰淇淋店创业计划书范文
2013/12/27 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
企业文化演讲稿
2014/05/20 职场文书
值班管理制度范本
2015/08/06 职场文书
电力培训学习心得体会
2016/01/11 职场文书
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android