JavaScript--模块化 JavaScript module designer
module: 模块就是实现特定功能的一组方法。
1、在首页的一个接口js;首先下载好require.js文件引入首页。
<script src="require.js" data-main="main.js"/>
2、在main.js中加载需要的模块。require()地方法。
require(["XXX"],["yyy"],function(xxx,yyy) {
xxx.mmm;
//some code
});
require(),方法中有两个参数,第一个以数组的形式存放加载依赖模块,注意模块的顺序。
3、模块中的注意事项:要符合AMD规范。采用define();来定义模块,然后return出去。
define(function() {
var add = function(a,b) {
return a+b;
};
return {
add : add
}
});
在define();方法中也可以传入依赖模块,同样以数组的形式存放。
4、require的config()方法参数配置:
require.config({ });他接受一个对象格式的数据:
1)、paths: {},paths属性接受依赖模块的的路径,
paths: {
"jquery" : "js/bin/jquery.js",
...
}
也可以改变基本目录:
baseUrl : "js/bin",
paths : {
"jquery" : "jquery.js",
...
}
2)、shim:{},属性专门来配置不兼容的模块,每个模块都要定义一个exports值输出的变量名,表明外部模块调用的名称。deps数组表示该模块的依赖模块。
shim: {
"backbone" : {
deps : ["jQuery"],
exports : "_"
}
}
shim: {
'jquery.scroll': {
deps: ['jquery'],
exports: 'jQuery.fn.scroll'
}
}
index.js:
require.config({
paths: {
"jQuery" : "jquery-1.12.4.js"
}
});
require(["module1","module2"],function(module1,module2) {
// console.log( math.num(3,4) );
// alert("主js加载成功!");
alert( module1.add(5,3) );
alert( $(".box").length );
// alert(module1.a);
alert(module2.sub(100,2));
module1.spanFn();
});
module1.js:
define(["jquery-1.12.4","module2"],function() {
// var a = module2.sub(100,2);
// for(var i = 0;i < 10;i++) {
// a++;
// }
var add = function(a,b) {
return a+b;
};
var spanFn = function() {
$("span").click(function() {
alert("span");
});
};
return {
add : add,
spanFn :spanFn
}
});
module2.js:
define(function() {
var sub = function(a,b) {
return a/b;
};
return {
sub : sub
}
});
JavaScript--模块化 JavaScript module designer的更多相关文章
- Javascript模块化编程(二):AMD规范
Javascript模块化编程(二):AMD规范 作者: 阮一峰 原文地址:http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_d ...
- Javascript模块化编程(一):模块的写法
Javascript模块化编程(一):模块的写法 作者: 阮一峰 原文链接:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html ...
- Javascript模块化编程(二):AMD规范(转)
这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块. (接上文) 七.模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可以更方便地使用别人的代码,想要 ...
- Javascript模块化编程(一):模块的写法(转)
随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者 ...
- Javascript模块化规范
Javascript模块化规范 一.前端js模块化由来与演变 CommonJS 原来叫 ServerJS,推出 Modules/1.0 规范后,在 Node.js 等环境下取得了很不错的实践.09年下 ...
- Javascript模块化开发,使用模块化脚本加载工具RequireJS,提高你代码的速度和质量。
随着前端JavaScript代码越来越重,如何组织JavaScript代码变得非常重要,好的组织方式,可以让别人和自己很好的理解代码,也便于维护和测试.模块化是一种非常好的代码组织方式,本文试着对Ja ...
- Javascript模块化编程(二):AMD规范 作者: 阮一峰
声明:转载自阮一峰的网络日志 这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块. (接上文) 七.模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可 ...
- Javascript模块化编程(一):模块的写法 作者: 阮一峰
声明:转载自阮一峰的网络日志 随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理. ...
- 该如何理解AMD ,CMD,CommonJS规范--javascript模块化加载学习总结
是一篇关于javascript模块化AMD,CMD,CommonJS的学习总结,作为记录也给同样对三种方式有疑问的童鞋们,有不对或者偏差之处,望各位大神指出,不胜感激. 本篇默认读者大概知道requi ...
- Javascript模块化编程之路——(require.js)
转自:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html Javascript模块化编程(一):模块的写法 随着网站逐渐变成&q ...
随机推荐
- OpenCV图像处理篇之腐蚀与膨胀
转载请注明出处:http://xiahouzuoxin.github.io/notes 腐蚀与膨胀 腐蚀和膨胀是图像的形态学处理中最主要的操作,之后遇见的开操作和闭操作都是腐蚀和膨胀操作的结合运算. ...
- Linux下查看txt文档
当我们在使用Window操作系统的时候,可能使用最多的文本格式就是txt了,可是当我们将Window平台下的txt文本文档复制到Linux平台下查看时,发现原来的中文所有变成了乱码. 没错, 引起这个 ...
- javascript 提交弹窗
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Gym - 100625D Destination Unknown 最短路
http://codeforces.com/gym/100625/attachments/download/3213/2013-benelux-algorithm-programming-contes ...
- Network Stack
Network Stack 目录 1 Overview 2 Code Layout 3 Anatomy of a Network Request (focused on HTTP) 3.1 URLRe ...
- python获取教务管理系统的MM照片
前提:你的教务管理系统是明文存储大家的图片,加密的图片就不好弄了... 也就是能够通过浏览器直接访问...技术上就不存在什么问题了...如果是学号存储的就更方便了 然后我们就可以写个小脚本了...其实 ...
- BZOJ2137: submultiple(生成函数,二项式定理)
Description 设函数g(N)表示N的约数个数.现在给出一个数M,求出所有M的约数x的g(x)的K次方和. Input 第一行输入N,K.N表示M由前N小的素数组成.接下来N行,第i+1行有一 ...
- 【RHEL7/CentOS7网络配置】
目录 网卡配置文件 查网卡信息 测试网络是否正常 使用 nmtui 命令配置网络 使用 nm-connection-editor 工具配置网络 修改回6.x版本的网卡名 Rhel/CentOS网络配置 ...
- 便捷编程-Xcode常用第三方插件 (随时更新)
Xcode工具插件 1.XAlign 让Xcode编辑器中的代码以多种方式瞬间对齐 地址:https://github.com/qfish/XAlign 2.VVDocumenter-Xcode 在X ...
- HDU 4975 A simple Gaussian elimination problem.
A simple Gaussian elimination problem. Time Limit: 1000ms Memory Limit: 65536KB This problem will be ...