AMD(Asynchronous Module Definition)翻译为异步模块定义。异步强调的是,在加载模块以及模块所依赖的其它模块时,都采用异步加载的方式,避免模块加载阻塞了网页的渲染进度。用于浏览器端的异步模块规范

CMD (Common Module Definition), 是seajs推崇的规范,CMD则是依赖就近.是国内的一个叫玉伯的人写的。浏览器端的模块规范

CommonJS是服务器端的模块规范。nodejs就是CommonJS规范实现的。

我们要介绍的require.js就是AMD规范实现的一个库。

requirejs的作用

require.js可以很好的解决两个问题

1.实现js文件的异步加载,避免网页失去响应

2.管理模块之间的依赖性,便于代码的编写和维护。

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title>requirejs只开放了两个函数define 定义模块define('模块名',[依赖列表],实现模块的函数)注意:通常我们不写模块名,文件名就是模块名require 使用模块语法:require([依赖列表],函数)注意:a.require可以同时加载多个模块,b.加载多个模块时函数一定要写多个形式参数,形式参数必须与模块进行一一对应。c.require===requirejs</title><script src="Scripts/require.js"></script><script>require(['./Scripts/04.js','./Scripts/04-2.js'], function (a,b) {// console.log(a);
            a.show();console.log(b);});</script>
</head>
<body></body>
</html>

//定义模块
define(function () {return {show: function show() {console.log("今天发生一件事,张三掉水沟里了");}}});

define(['./jquery-1.10.2.js'], function (a) {return $;
});

   requirejs的配置:require.config({baseUrl:设置所有模块的公共路径paths:为我们所有的模块设置别名});注意:1.如果要让配置对象起效果必须将依赖设置为模块名(没有扩展名的文件名),不是完整路径。2.以对象形式为paths配置别名。
<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title>requirejs的配置:require.config({baseUrl:设置所有模块的公共路径paths:为我们所有的模块设置别名});注意:1.如果要让配置对象起效果必须将依赖设置为模块名(没有扩展名的文件名),不是完整路径。2.以对象形式为paths配置别名。</title><script src="Scripts/require.js"></script>
</head>
<body><script>require.config({baseUrl: './Scripts/',paths: {jq: 'jquery-1.10.2','2':'05-2'}});require(['jq','05', '2'], function (c,a, b) {// console.log(a);
             a.show();console.log(b);console.log(c);});</script></body>
</html>

requirejs的案例

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title></title><script src="Scripts/require.js"></script>
</head>
<body><script>require(["./Scripts/06.js"], function (a) {console.log(a);console.log( a.add(10, 20));});</script>
</body>
</html>

//衬衣模块
//define({//    color: 'black',
//    size: 'XL',
//    price:100
//});//数学模块
define(function () {var add = function (x, y) {return x + y;};return {add};
});

转载于:https://www.cnblogs.com/zhumeiming/p/9864837.html

AMD规范和requirejs入门相关推荐

  1. RequireJS和AMD规范

    目录 概述 define方法:定义模块 require方法:调用模块 AMD模式小结 配置require.js:config方法 插件 优化器r.js 参考链接 概述 RequireJS是一个工具库, ...

  2. requirejs(shim)处理加载非AMD规范的js库

    使用requirejs加载模块,模块的定义得遵守AMD规范,也即定义模块的时候使用如下函数定义模块: 1 define(function(){ 2 var private = function(){ ...

  3. RequireJs入门(一)

    RequireJs入门(一) RequireJS会让你以不同于往常的方式去写JavaScript.你将不再使用script标签在HTML中引入JS文件,以及不用通过script标签顺序去管理依赖关系. ...

  4. RequireJS入门(一) 转

    RequireJS由James Burke创建,他也是AMD规范的创始人. RequireJS会让你以不同于往常的方式去写JavaScript.你将不再使用script标签在HTML中引入JS文件,以 ...

  5. CommonJS规范与AMD规范的理解

    2019独角兽企业重金招聘Python工程师标准>>> 链接地址:http://www.xx566.com/detail/32.html 谈到AMD,我们首先来了解一个基于AMD规范 ...

  6. Javascript模块规范(CommonJS规范AMD规范)

    Javascript模块化编程(AMD&CommonJS) 前端模块化开发的价值:https://github.com/seajs/seajs/issues/547 模块的写法 查看 AMD规 ...

  7. JavaScript的AMD规范

    一.由来 由CommonJS组织提出了许多新的JavaScript架构方案和标准,希望能为前端开发提供统一的指引.AMD规范就是其中比较著名一个,全称是Asynchronous Module Defi ...

  8. JavaSript模块规范 - AMD规范与CMD规范介绍[转]

    原文地址:http://blog.chinaunix.net/uid-26672038-id-4112229.html JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什 ...

  9. AMD规范:简单而优雅的动态载入JavaScript代码

    本文翻译自http://www.sitepen.com/blog/2010/11/04/requirejsamd-module-forms/,并加入部分自己的解释. CommonJS 提出了一种用于同 ...

  10. Modularity(模块化-AMD规范)

    第三阶段: AMD规范(Asynchronous Module Definition:异步模块定义) CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作. AMD规范则是 ...

最新文章

  1. asp.net 网页做一个浮动层_你们要的HTML、CSS布局技巧:如何规范搭建网页架构?
  2. 【c语言】蓝桥杯算法提高 3-2字符串输入输出函数
  3. 用python画简单的动物-使用Python的turtle画小绵羊
  4. JavaScript常用数组方法
  5. mysql timestamp 用法_MYSQL timestamp用法
  6. usaco Packing Rectangles
  7. ASP VNext 开源服务容错处理库Polly
  8. 【Head First Java 读书笔记】(一)基本概念
  9. liunx 命令 之 mkdir 与 touch
  10. vue3.0 word导出
  11. 教你几招——交换变量数值
  12. c语言编写keil 设置memory model的编辑器,keil C51的Memory Model 说明[三种Model的选择对编译的影响]】...
  13. 封装继承多态的关联性
  14. 深度WindowsXp错误的打了SP3补丁之后,无法进入系统
  15. 用计算机运行搜索Ip的方法,怎样查ip地址 几种查ip地址的方法【图文】
  16. 盘点7大影视类宝藏公众号,影迷/编导生必备,强烈推荐第3个【覃小龙课堂】
  17. python计算复数的辐角,(Python 3)1051复数乘法(15分),python31051
  18. IM开发快速入门(一):什么是IM系统?
  19. indirect引用单元格/单元格区域/跨表引用(适用于引用不同工作表的相同单元格或者区域)
  20. Movie Database(电影数据库)

热门文章

  1. GPS模块坐标偏差很大?
  2. 常见的防火墙技术介绍
  3. 【Adobe Air程序开发】用Adobe Flex3开发AIR应用程序–入门指南
  4. NTP授时系统(GPS时钟产品-GPS授时产品)
  5. php写的仿爱帮网电话号码字符串处理(防采集)。
  6. Nutch1.2二次开发详细攻略(一)【图文】------Windows平台下Cygwin环境的搭建
  7. WSL:适用于 Linux 的 Windows 子系统
  8. Tomcat 服务器状态监控显示PS Survivor Space 99%
  9. Maven 项目添加jetty 插件
  10. drivers/mfd/Mfd-core.c