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动画对象支持加速、减速、缓入、缓出的实现代码
Sep 30 Javascript
使用focus方法让光标默认停留在INPUT框
Jul 29 Javascript
jQuery实现左右切换焦点图
Apr 03 Javascript
jQuery控制Div拖拽效果完整实例分析
Apr 15 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
Jan 14 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
Oct 15 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
Feb 14 Javascript
JavaScript模块化之使用requireJS按需加载
Apr 12 Javascript
vue的常用组件操作方法应用分析
Apr 13 Javascript
详解Node.js读写中文内容文件操作
Oct 10 Javascript
vue实现点击追加选中样式效果
Nov 01 Javascript
vue与iframe之间的信息交互的实现
Apr 08 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
剧场版动画《PSYCHO-PASS 3 FIRST INSPECTOR》3月27日日本上映!
2020/03/06 日漫
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
删除条目时弹出的确认对话框
2014/06/05 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
2016/01/04 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
Python中字符串的处理技巧分享
2016/09/17 Python
详解python之配置日志的几种方式
2017/05/22 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
python读取和保存图片5种方法对比
2018/09/12 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
详解Python3中的 input() 函数
2020/03/18 Python
Python 解析简单的XML数据
2020/07/24 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
入党积极分子介绍信
2014/01/17 职场文书
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js