JavaScript模块化-RequireJs实现AMD规范的简单例子
2018-01-04 22:05
621 查看
AMD规范简介
AMD(异步模块定义),是实现JavaScript模块化规范之一,它采用异步方式加载模块,模块的加载不影响后面语句的运行。require.js和curl.js都是实现AMD规范的优秀加载器。本文采用require.js。
1. define用于模块定义
define(模块ID,依赖模块数组,实例化模块函数);模块ID和依赖模块数组为可选。
如:
2. require处理依赖加载
require(模块数组,回调函数);第一个参数为要加载的模块数组,第二个参数为模块加载后的回调函数。
如:
require.js实现AMD的简单例子
1. math.js
2. jquery.color.js
jquery1.7以上已经实现AMD规范。
3. test.js
4. main.js
5. index.html
AMD(异步模块定义),是实现JavaScript模块化规范之一,它采用异步方式加载模块,模块的加载不影响后面语句的运行。require.js和curl.js都是实现AMD规范的优秀加载器。本文采用require.js。
1. define用于模块定义
define(模块ID,依赖模块数组,实例化模块函数);模块ID和依赖模块数组为可选。
如:
define("color",["jquery"],function($){ +function(){ $.fn.extend({ "color":function(value){ if(value==undefined){ return this.css("color"); }else{ return this.css("color",value); } } }); }(); });
2. require处理依赖加载
require(模块数组,回调函数);第一个参数为要加载的模块数组,第二个参数为模块加载后的回调函数。
如:
require(['test'], function (test){ test.testMath(); test.testColor(); });
require.js实现AMD的简单例子
1. math.js
define("math1",function(){ var add = function (x,y){ return x+y; }; var minus = function(x,y){ return x-y; }; return { add: add, minus:minus }; });
2. jquery.color.js
jquery1.7以上已经实现AMD规范。
define("color",["jquery"],function($){ +function(){ $.fn.extend({ "color":function(value){ if(value==undefined){ return this.css("color"); }else{ return this.css("color",value); } } }); }(); });
3. test.js
define("test",["math1","color","jquery"],function(math,color,$){ var testMath=function(){ var x=10; var y=5; $("#divAdd").html(x+"+"+y+"="+math.add(x,y)); $("#divMinus").html(x+"-"+y+"="+math.minus(x,y)); }; var testColor=function(){ $("#divColor").color("blue"); }; return { testMath:testMath, testColor:testColor } });
4. main.js
require.config({
paths: {
"jquery": "jquery-3.2.1.min",
"color": "jquery.color",
"math1": "math",
"test":"test"
}
});
require(['test'], function (test){ test.testMath(); test.testColor(); });
5. index.html
<!DOCTYPE html> <html> <head> <script src="js/require.js" data-main="js/main" defer async="true"></script> </head> <body> <div id="divAdd">testAdd</div> <div id="divMinus">testMinus</div> <div id="divColor">testColor</div> </body> </html>
相关文章推荐
- javascript模块化编程:CommonJS和AMD规范
- Javascript模块化编程系列三: CommonJS & AMD 模块化规范描述
- Javascript模块化编程系列三: CommonJS & AMD 模块化规范描述
- (转)Javascript模块化编程(二):AMD规范
- Javascript模块化编程(二):AMD规范
- Javascript模块化编程(二):AMD规范
- javascript模块化编程二(AMD规范)
- Javascript模块化编程(二):AMD规范
- Javascript模块化编程(二):AMD规范
- JavaScript模块化编程 - CommonJS, AMD ,CMD和 RequireJS之间的关系
- Javascript模块化编程(二):AMD规范
- Javascript模块化编程(二):AMD规范
- Javascript模块化编程(一)AMD规范(规范使用模块)
- 中级JavaScript例子, 如何实现一个简单实用的模板套用机制, GXTemplate , 第一章(估计要写9章)
- Javascript模块化编程(二):AMD规范
- 原生javascript和jquery实现简单的ajax例子
- 【javascript】Promise/A+ 规范简单实现 异步流程控制思想
- Javascript模块化编程(二):AMD规范
- Javascript模块化编程(二):AMD规范
- Javascript AMD模块化规范