抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

AMD的基本语法

AMD的概念

AMD(Asynchronous Module Definition):异步模块定义。AMD专门用于浏览器端,模块的加载是异步的。

AMD规范:是 RequireJS 在推广过程中对模块化定义的规范化产出。

RequireJS:一个基于AMD规范实现的模块化开发解决方案。

暴露模块的方式

定义没有依赖的模块:(参数只有一个 function)

1
2
3
4
5
define(function () {

return 模块

})

定义有依赖的模块:(参数有两个:模块名、function)

1
2
3
4
5
6
//定义有依赖的模块:第一个参数为数组
define(['module1', 'module2'], function (m1, m2) {

return 模块

})

代码解释:

  • 第一个参数必须是数组,里面存放的是,需要依赖的其他的模块。

  • 第二个参数是function,里面带了形参 m1 和 m2,分别代表了 module1 和 module2。这个形参的作用是,前面依赖的模块一旦声明了,就可以一一对应地注入到 function中去,从而在 function 内部使用依赖的模块。这种方式称之为显式声明依赖注入

引入模块的方式

在主模块中引入其他的模块:

1
2
3
4
5
6
//在主模块中引入其他的模块
require(['module1', 'module2'], function (m1, m2) {

使用m1 / m2

})

RequireJS:是AMD的实现

RequireJS的使用举例(自定义模块)

1、创建项目结构

在工程文件中新建如下目录:

1
2
3
4
5
6
7
8
9
js
| libs

| modules
| alerter.js
| dataService.js
| main.js

index.html

所有的代码写完之后,项目结构如下: