javascript模块化简单解析


Posted in Javascript onApril 07, 2016

本文为大家解读javascript的模块化,具体内容如下

AMD是RequireJS在推广过程中对模块定义的规范化产出。

异步加载模块,依赖前置,提前执行。
Define定义模块 define([‘require','foo'],function(){return});
Require加载模块(依赖前置) require([‘foo','bar'],function(foo,bar){});

CMD是SeaJS在推广过程中对模块定义的规范化产出。

Define定义exports 导出define(function(require,exports,module){});  module上存储了当前模块上的一些对象。
require(./a)直接引入。Require.async异步引入。
同步加载,依赖就近,延迟执行。 

SeaJS 的应用

官方入门例子:http://seajs.org/docs/#quick-start

怎么写一个SeaJS模块?

// 所有模块都通过 define 来定义
define(function(require, exports, module) {
 
 // 通过 require 引入依赖
 var $ = require('jquery');
 var Spinning = require('./spinning');
 
 // 通过 exports 对外提供接口
 exports.doSomething = ...
 
 // 或者通过 module.exports 提供整个接口
 module.exports = ...
 
});

在页面中加载模块

//在 hello.html 页尾,通过 script 引入 sea.js 后,有一段配置代码:
 
// seajs 的简单配置
seajs.config({
 base: "../sea-modules/",
 alias: {
  "jquery": "jquery/jquery/1.10.1/jquery.js"
 }
})
 
// 加载入口模块
seajs.use("../static/hello/src/main")

以上就是关于javascript模块化的简单介绍,希望对大家学习javascript模块化有所帮助。

Javascript 相关文章推荐
javascript下利用arguments实现string.format函数
Aug 24 Javascript
jQuery获取地址栏参数插件(模仿C#)
Oct 26 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
Mar 07 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
Jun 08 Javascript
微信小程序 animation API详解及实例代码
Oct 08 Javascript
js中class的点击事件没有效果的解决方法
Oct 13 Javascript
微信小程序中实现一对多发消息详解及实例代码
Feb 14 Javascript
浅谈Vue.js中的v-on(事件处理)
Sep 05 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
Bootstrap Paginator+PageHelper实现分页效果
Dec 29 Javascript
vue学习之Vue-Router用法实例分析
Jan 06 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
Jul 20 Javascript
jquery编写Tab选项卡滚动导航切换特效
Jul 17 #Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
Apr 07 #Javascript
jQuery实现简单滚动动画效果
Apr 07 #Javascript
基于javascript bootstrap实现生日日期联动选择
Apr 07 #Javascript
原生js制作日历控件实例分享
Apr 06 #Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
Apr 06 #Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
Apr 06 #Javascript
You might like
用JAVASCRIPT如何给<textarea></textarea>赋值
2007/04/20 Javascript
通过javascript设置css属性的代码
2009/12/28 Javascript
关于跨站脚本攻击问题
2011/12/22 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
2017/03/01 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
Vue实现导航栏菜单
2020/08/19 Javascript
python中的对象拷贝示例 python引用传递
2014/01/23 Python
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
Python实现子类调用父类的方法
2014/11/10 Python
python创建列表并给列表赋初始值的方法
2015/07/28 Python
python如何将图片转换为字符图片
2020/08/19 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
Python 下载Bing壁纸的示例
2020/09/29 Python
4款Python 类型检查工具,你选择哪个呢?
2020/10/30 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
HTML5 CSS3新的WEB标准和浏览器支持
2009/07/16 HTML / CSS
为什么使用接口?
2014/08/13 面试题
傲盾软件面试题
2015/08/17 面试题
2015年社会治安综合治理工作总结
2015/04/10 职场文书
医院病假条范文
2015/08/17 职场文书
python实现双向链表原理
2022/05/25 Python