这篇文章主要介绍了使用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 没有回调处理
            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>

最新文章

  1. 捉襟见肘之 CoreImage初级自制相机图片效果
  2. MySQL预处理语句
  3. Java for LeetCode 071 Simplify Path
  4. Linux物理内存相关数据结构
  5. sql helper
  6. Canvas、Paint、的简单使用及辅助类(Path、Shader、简介)
  7. iOS学习之Runtime(二)
  8. [转]修改hosts文件不起作用
  9. Function Programming - First Class(一等公民function)
  10. [Swift]LeetCode211. 添加与搜索单词 - 数据结构设计 | Add and Search Word - Data structure design
  11. sqlmap常用命令
  12. Windows平台ping测试局域网所有在用IP
  13. windows启动/禁用telnet/IIS/ftp/IE等服务
  14. JQuery复制内容到剪切板-jquery.zclip.js的使用,在公司项目中
  15. 三者互ping,PC,虚拟机,uboot,nfs网络文件系统搭建
  16. springmvc基础流程
  17. Reverse string using recursion
  18. IMX6Q GPIO定义
  19. 【BZOJ3197】[SDOI2013]刺客信条
  20. Spring MVC 实践笔记

热门文章

  1. Mac php7本地安装mongodb扩展以适配使用mongo扩展的线上老代码
  2. EF进阶篇(二)——CRUD
  3. winform发布桌面程序后提示需开启“目录浏览”
  4. 洛谷P2287 [HNOI2004]最佳包裹(三维凸包)
  5. 【spring boot】FilterRegistrationBean介绍
  6. Python里面的负号的各种神奇用法?来填坑啦
  7. easyui datagrid可编辑表格使用经验分享
  8. TX1 文字界面启动与root用户自动登录设置
  9. window 7/8/10 安装nginx
  10. 对于position:relative,absolute,fixed的见解: