什么是AMD模式?
define和require两个定义模块调用模块的方法合称为
AMD模式。
**用于浏览器环境,允许异步加载模块,也可以根据需要动态加载模块。
1.引入require.js到网页,网页中就能进行模块化编程了
<p class="pp" style="display:none">default hidden</p>
<script data-main="javascripts/test.js" src="/components/requirejs/require.js"></script>
data-main加载主文件,指定主代码所在的脚本文件,不可省略。
2.定义模块
1)独立定义模块:不依赖其他模块的模块
define(function (){
return {
add: function (a, b) {
return a + b;
}
};
});
2)非独立模块:依赖其他模块的模块
//第一个参数是数组:成员是当前模块依赖的模块
//第二个参数是函数:参数与数组成员一一对应,前面数组所有成员加载成功后才被调用。返回一个对象供其他模块调用。define(['jquery'],function(jquery){
return {//函数返回值就是输出的模块
showme:function(el){
$(el).show();
}
};
});
3.主模块require调用模块
//第一个参数是数组:表示依赖关系
require(['config','math/math','math/show'], function (config,math,show) {
debugger;
console.log(math.add(1,2));
show.showme('.pp');
});
4.配置require.js config方法
1)paths:指定各个模块的位置。
2)baseUrl:指定本地模块位置的基准目录。
3)shim:帮助require.js加载非AMD规范的库
require.config({
paths : {
jquery : '../components/jquery/dist/jquery',
angular: '../components/angular/angular'
}
shim : {
angular: {
exports: 'angular'
}
//backbone 依赖于underscore,输出符号为'Backbone'
backbone:{
deps:['underscore'],
exports:'Backbone'
}
underscore:{
exports:'_'
}
}
});
分享到:
相关推荐
RequireJs模块化编程,CAD的初级介绍,符合CAD规范模块的定义和导入,语法及依赖项的初步演示。。。。。。。。。
js模块系统介绍的ppt,简要介绍js现有的几个模块规范,包括commonJS模块规范,amd,cmd,es6模块系统。并详细对比seaJS和requireJS的异同
ES6之前已经出现了js模块加载的方案,最主要的是CommonJS和AMD规范。commonjs主要应用于服务器,实现同步加载,如nodejs。AMD规范应用于浏览器,如requirejs,为异步加载。同时还有CMD规范,为同步加载方案如seaJS。...
在ES6前, 前端就使用RequireJS或者seaJS实现模块化, requireJS是基于AMD规范的模块化库, 而像seaJS是基于CMD规范的模块化库, 两者都是为了为了推广前端模块化的工具, 更多有关AMD和CMD的区别, 后面参考给了...
在ES6前, 前端就使用RequireJS或者seaJS实现模块化, requireJS是基于AMD规范的模块化库, 而像seaJS是基于CMD规范的模块化库, 两者都是为了为了推广前端模块化的工具, 更多有关AMD和CMD的区别, 后面参考给了...
之前,模块化开发一直是由第三方库来模拟的,比较知名的有AMD规范和CMD规范。 两个规范分别对应requirejs和seajs。 而现在,ES6提出了自己的模块化统一标准。 一个ES6的模块是一个包含了js代码的文件。ES6里没有所谓...
模块化js常用的工具Requirejs和Seajs, Requirejs是按照AMD的规范来定义模块的,Seajs是按照CMD的规范来定义模块的.Requirejs 与 Seajs 的最大区别:执行模块的机制不同RequireJS对模块的态度是预执行,也就是所依赖...
RequireJS 是一个前端模块化开发的流行工具,本身是一个Javascript的库文件,即require.js 。...从模块化划分的规则来区分,主要分为AMD、CMD两类,dojo、require.js 遵从前者,而sea.js 依循CMD规范。 require
随着 W3C 等规范、以及浏览器的飞速发展,前端的模块化开发会逐步成为基础设施。一切终究都会成为历史,未来会更好。”——引用玉伯原文最后一段话,我个人也非常赞同。既然谈到了“未来”,我个人认为:前端 js ...
AMD是RequireJS在推广过程中对模块定义的规范化产出。 异步加载模块,依赖前置,提前执行。 Define定义模块 define([‘require’,’foo’],function(){return}); Require加载模块(依赖前置) require([‘foo’,’bar...
RequireJS是一个非常小巧的JavaScript模块载入框架,是AMD规范最好的实现者之一。最新版本的RequireJS压缩后只有14K,堪称非常轻量。它还同时可以和其他的框架协同工作,使用RequireJS必将使您的前端代码质量得以...
前端项目模板 ...而对于JavaScript,我们推荐使用AMD规范(requireJS)来对代码进行组织,因此我们默认在项目的开发工具中引入了grunt-contrib-requirejs,便于我们在将来使用r.js来对项目进行优化。
一篇文章掌握RequireJS常用知识,通过本文,你可以对模块化开发和AMD规范有一个较直观的认识,并详细地学习RequireJS这个模块化开发工具的常见用法,感兴趣的小伙伴们可以参考一下
主要有AMD规范(随requirejs诞生而普及),CMD规范(随seajs的出现而普及),commonjs(主要用于node,并不适合前端)。至于以上几种规范的异同,无耻的我在这里就不多费口水了,请还不了解的亲们自行去找google爸爸...
modulejs_demo js模块化对比 主要通过AMD规范实现的requirejs和CMD规范实现的seajs来比较两种模式的区别。 参考: 可以直接通过node http.js运行http-server
Minjector 为浏览器和 Node.js 实现了一个类似 AMD 的模块加载器。 真正的 Node.js 不需要 AMD 加载器。 尽管如此,它还是支持编写浏览器和 Nodes.js 所需的模块。 Node.js 的性能缺陷并不多,因为所有模块仍然被...
RequireJS是一个非常小巧的javascript模块载入框架,是AMD(Asynchronous Module Definition,异步模块加载机制)规范最好的实现之一。最新版的requireJS压缩后只有14k,堪称非常轻量。它还同时可以和其他的框架协调...
项目使用grunt打包根据AMD规范,使用grunt-contrib-requirejs来压缩合并模块,同时用ocLazyLoad来完成angular模块的懒加载. 项目进程: 模块打包 项目中代码基本按照AMD规范来编写,使用grunt-c
looveu 基于requirejs的,符合AMD规范的一个模块化,js脚手架框架
webpack教程.zip webpack是现在最流行的前端自动化打包工具 模块中还是用的AMD规范,但我并没有引入 requirejs 源码,因为首先 webpack 原生支持了 CommonJs 、AMD 等模块风格,编译时会自动识别进行处理