使用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 getElementsByTagName的简写方式
Jun 27 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
Jquery 动态生成表格示例代码
Dec 24 Javascript
利用fecha进行JS日期处理
Nov 21 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
Jan 05 Javascript
100多个基础常用JS函数和语法集合大全
Feb 16 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
Oct 08 Javascript
highCharts提示框中显示当前时间的方法
Jan 18 Javascript
微信小程序实现的图片保存功能示例
Apr 24 Javascript
JavaScript箭头函数中的this详解
Jun 19 Javascript
JavaScript享元模式原理与用法实例详解
Mar 09 Javascript
详解vue 中 scoped 样式作用域的规则
Sep 14 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
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
php过滤危险html代码
2008/08/18 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
浅析JavaScript声明变量
2015/12/21 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
vue mint-ui tabbar变组件使用
2018/05/04 Javascript
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
Node对CommonJS的模块规范
2019/11/06 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
21行Python代码实现拼写检查器
2016/01/25 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
python将数据插入数据库的代码分享
2020/08/16 Python
python 爬取百度文库并下载(免费文章限定)
2020/12/04 Python
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
医院学雷锋活动策划方案
2014/02/15 职场文书
风险评估实施方案
2014/03/09 职场文书
租房协议书怎么写
2014/04/10 职场文书
社团活动总结怎么写
2014/06/30 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
道歉信范文
2015/05/12 职场文书
调研报告的主要写法
2019/04/18 职场文书
js实现自动锁屏功能
2021/06/02 Javascript
Python Matplotlib库实现画局部图
2021/11/17 Python