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

 更新时间:2014年12月25日 09:55:04   投稿:hebedich  
这篇文章主要介绍了使用mini-define实现前端代码的模块化管理,十分不错的一篇文章,这里推荐给有需要的小伙伴。

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来说,加注释才一百来行的代码用轻量来形容都显胖,完全是骨感。
完全没有什么高深的内容,也没有复杂的技巧,几乎是零学习成本。

相关文章

  • antd/fusion表格增加圈选复制功能思路详解

    antd/fusion表格增加圈选复制功能思路详解

    我们存在着大量在PC页面通过表格看数据业务场景,表格又分为两种,一种是antd / fusion这种基于dom元素的表格,另一种是通过 canvas 绘制的类似 excel 的表格,这篇文章主要介绍了antd/fusion表格增加圈选复制功能,需要的朋友可以参考下
    2023-09-09
  • Js面试算法详解

    Js面试算法详解

    AI的兴起,使得大家对算法的关注也越来越高。而作为一个前端工程师,算法很多时候是我们的弱点,本文译自国外一篇面试题。列出了一些简单算是跟算法相关的面试题
    2018-04-04
  • js实现兼容PC端和移动端滑块拖动选择数字效果

    js实现兼容PC端和移动端滑块拖动选择数字效果

    这篇文章主要为大家详细介绍了js实现兼容PC端和移动端滑块拖动选择数字的效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 关于js new Date() 出现NaN 的分析

    关于js new Date() 出现NaN 的分析

    在一个项目中需要进行日期的格式化,后台传到前端是时间的整数(Date.getTime),当后台数据返回字符串时,发现转换日期时在ie下变成NaN,但是真的是这样吗?接下来我们慢慢分析
    2012-10-10
  • JavaScript实现多重继承的方法分析

    JavaScript实现多重继承的方法分析

    这篇文章主要介绍了JavaScript实现多重继承的方法,结合实例形式详细分析了javascript实现多重继承的具体步骤与相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • JS改变页面颜色源码分享

    JS改变页面颜色源码分享

    本篇文章是JS的一个网页制作小技巧,应用在很多地方,通过JS改变HTML页面的颜色,有兴趣的学习下。
    2018-02-02
  • 微信小程序使用picker实现时间和日期选择框功能【附源码下载】

    微信小程序使用picker实现时间和日期选择框功能【附源码下载】

    这篇文章主要介绍了微信小程序使用picker实现时间和日期选择框功能,结合实例形式分析了微信小程序picker组件进行日期与时间选择的相关操作技巧,并附带源码供读者下载参考,需要的朋友可以参考下
    2017-12-12
  • JS验证 只能输入小数点,数字,负数的实现方法

    JS验证 只能输入小数点,数字,负数的实现方法

    下面小编就为大家带来一篇JS验证 只能输入小数点,数字,负数的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • 前端处理二进制流文件导出为excel表代码示例

    前端处理二进制流文件导出为excel表代码示例

    这篇文章主要给大家介绍了关于前端处理二进制流文件导出为excel表的相关资料,后台管理系统,常会出现导出excel表格功能,需要的朋友可以参考下
    2023-08-08
  • javascript 极速 隐藏/显示万行表格列只需 60毫秒

    javascript 极速 隐藏/显示万行表格列只需 60毫秒

    隐藏表格列 这种方式的效率极低。例如,隐藏一个千行表格的某列,在我的笔记本(P4 M 1.4G,768M内存)上执行需要约 4000毫秒的时间,令人无法忍受。
    2009-03-03

最新评论