首页 > 试题广场 >

下列关于 JavaScript 模块化的描述,错误的是

[单选题]

下列关于 JavaScript 模块化的描述,错误的是

  • 模块化有利于管理模块间的依赖,更依赖模块的维护
  • 主流的模块化包括CommonJS,AMD,CMD等
  • Sea.js遵循AMD规范,RequireJS遵循CMD规范
  • AMD推崇依赖前置,CMD推崇依赖就近
AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。
AMD也采用require()语句加载模块,但是不同于CommonJS。
主要有两个Javascript库实现了AMD规范:require.jscurl.js
参考链接:http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.html

AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。
CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。
区别:
1. 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行
2. CMD 推崇依赖就近,AMD 推崇依赖前置
// CMD
define(function(require, exports, module) {
var a = require('./a')
a.doSomething()
// 此处略去 100 行
var b = require('./b') // 依赖可以就近书写
b.doSomething()
// ...
})

// AMD 默认推荐的是
define(['./a', './b'], function(a, b) { // 依赖必须一开始就写好
a.doSomething()
// 此处略去 100 行
b.doSomething()
...
})
发表于 2017-02-24 15:27:11 回复(1)
sea.js----CMD
require.js---AMD
发表于 2017-02-09 18:05:58 回复(0)
  • RequireJS 遵循 AMD 规范
  • Sea.js 遵循 CMD 规范
发表于 2022-08-17 23:46:20 回复(0)
这么说ag有点类似cmd,node像是amd?
发表于 2017-06-12 20:49:27 回复(2)
我们老师说cmd官网都没有了
发表于 2020-11-04 10:37:32 回复(0)
AMD"异步模块定义";它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。
AMD也采用require()语句加载模块,但是不同于CommonJS。
主要有两个Javascript库实现了AMD规范:require.jscurl.js
AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。require.js---AMD
CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。sea.js----CMD
区别:
1. 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行
2. CMD 推崇依赖就近,AMD 推崇依赖前置
编辑于 2017-09-19 20:35:32 回复(0)
AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。 AMD也采用require()语句加载模块,但是不同于CommonJS。 主要有两个Javascript库实现了AMD规范:require.js和curl.js。 参考链接:http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.html AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。 CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。 区别: 1. 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。 2. CMD 推崇依赖就近,AMD 推崇依赖前置。 // CMD define(function(require, exports, module) { var a = require('./a') a.doSomething() // 此处略去 100 行 var b = require('./b') // 依赖可以就近书写 b.doSomething() // ... }) // AMD 默认推荐的是 define(['./a', './b'], function(a, b) { // 依赖必须一开始就写好 a.doSomething() // 此处略去 100 行 b.doSomething() ... })
发表于 2017-03-05 00:27:12 回复(0)
题目是错的,seajs遵循CMD,requeryjs遵循AMD
发表于 2017-10-26 09:15:23 回复(1)
c 说反了
发表于 2016-12-15 00:52:21 回复(1)
正确答案是 **C**,因为选项中的描述 **“Sea.js 遵循 AMD 规范,RequireJS 遵循 CMD 规范”** 是错误的。下面详细解析: --- ### **模块化规范概述** #### **1. AMD(Asynchronous Module Definition)** - **特点**:推崇 **依赖前置**,在模块定义时就声明所有的依赖。 - **代表库**:**RequireJS** 遵循 AMD 规范。 **示例**: ```javascript define(['module1', 'module2'], function (module1, module2) { // 模块代码 }); ``` --- #### **2. CMD(Common Module Definition)** - **特点**:推崇 **依赖就近**,在代码执行时才加载模块。 - **代表库**:**Sea.js** 遵循 CMD 规范。 **示例**: ```javascript define(function (require, exports, module) { var module1 = require('module1'); var module2 = require('module2'); // 模块代码 }); ``` --- ### **选项解析** #### **A. 模块化有利于管理模块间的依赖,更依赖模块的维护** - **正确**:模块化的确有助于管理依赖关系,使代码更易维护。 --- #### **B. 主流的模块化包括 CommonJS、AMD、CMD 等规范** - **正确**:这些是常见的模块化规范。 - CommonJS:用于 Node.js。 - AMD:RequireJS 遵循,适用于浏览器端。 - CMD:Sea.js 遵循,适用于浏览器端。 --- #### **C. Sea.js 遵循 AMD 规范,RequireJS 遵循 CMD 规范** - **错误**: - **Sea.js 遵循的是 CMD 规范**,不是 AMD。 - **RequireJS 遵循的是 AMD 规范**,不是 CMD。 --- #### **D. AMD 推崇依赖前置,CMD 推崇依赖就近** - **正确**: - AMD 确实推崇 **依赖前置**,即模块定义时声明所有依赖。 - CMD 推崇 **依赖就近**,即在需要时才加载模块。 --- ### **总结** - **C** 错误,因为 Sea.js 遵循 **CMD**,RequireJS 遵循 **AMD**。 - 其他选项描述正确。 最终答案是 **C**。
发表于 2024-12-18 12:24:52 回复(0)
谁能知道谁能知道amd.CMD.commonjs怎么系统学吗,一般帖子感觉太零散了
发表于 2022-10-26 09:26:53 回复(0)
sea.js----CMD require.js---AMD
发表于 2022-07-23 00:42:59 回复(0)
CMD 推崇依赖就近,AMD 推崇依赖前置
发表于 2019-05-06 20:13:09 回复(0)
AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。 CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。 区别: 1. 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。 2. CMD 推崇依赖就近,AMD 推崇依赖前置。 // CMD define(function(require, exports, module) { var a = require('./a') a.doSomething() // 此处略去 100 行 var b = require('./b') // 依赖可以就近书写 b.doSomething() // ... }) // AMD 默认推荐的是 define(['./a', './b'], function(a, b) { // 依赖必须一开始就写好 a.doSomething() // 此处略去 100 行 b.doSomething() ... })
发表于 2017-09-08 00:21:53 回复(0)
不懂?哪位大神给一下解释呗?
发表于 2017-02-09 15:50:33 回复(0)