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 ...
随机推荐
- HDU 3911 线段树区间合并
北京赛区快了,准备袭击数据结构和图论.倒计时 18天,线段树区间合并.维护一个最长连续.. 题意:给一个01串,以下有一些操作,问区间最长的连续的1的个数 思路:非常裸的线段树区间合并 #includ ...
- 关于android studio几种常见的错误解决
我也是从ec转到as的,没办法,大势所趋嘛,然而,在使用as的过程中遇到了非常多匪夷所思的错误,如今就说一下今天我遇到的这个错误. 美工妹子给了我一张图片,用来当做button的背景图,当然,这个图也 ...
- Django 框架篇(四) : 视图(view)详解 以及 路由系统(url)
|--Django的View(视图) |-- CBV和FBV: |-- 给视图增加装饰器: |-- request对象: |-- response对象: |-- Django的路由系统(url): | ...
- 洛谷P2415 集合求和
题目描述 给定一个集合s(集合元素数量<=30),求出此集合所有子集元素之和. 输入输出格式 输入格式: 集合中的元素(元素<=1000) 输出格式: 和 输入输出样例 输入样例#1: 2 ...
- apache-maven-3.0.4-bin.zip
http://zhidao.baidu.com/share/2a8974fd1546ef5f11ad9cccb3cabf88.html apache-maven-3.0.4-bin.zip
- C2mini 摄像头添加 到 7832N 录像机方法
1.在YS7.com 把2个设备全部添加 (录像机也可以通过手机添加) 2.在录像机里添加摄像头 注: 如出现 “未知错误”可能为录像机版本过低造成.
- MYSQL常用命令列表
MYSQL常用命令列表 1.系统管理 mysql -h主机地址 -u用户名 -p 连接MYSQL(在mysql/bin) exit 退出MYSQL命令 mysqladmin -u用户名 -p旧密码 p ...
- WPF通用框架ZFS《项目结构介绍01》_模块介绍
首页介绍: 下图为项目运行首页图片, 大的结构分为三块: 1.Header首部模块(存放通知组件[全局通知.消息管理 ].扩展模块[皮肤.系统设置.关于作者.退出系统]) 2.Left左侧菜单模块(存 ...
- oracle 01578
http://blog.itpub.net/7728585/viewspace-670597/ http://www.2cto.com/database/201208/149056.html http ...
- 洛谷—— P1629 邮递员送信
https://www.luogu.org/problem/show?pid=1629 题目描述 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比 ...