AMD

时间:2019-01-24 13:42:43 类型:JS/JQUERY
字号:    

Asynchronous Module Definition 规范其实只有一个主要接口 define(id?, dependencies?, factory),它要在声明模块的时候指定所有的依赖 dependencies,并且还要当做形参传到 factory 中,对于依赖的模块提前执行,依赖前置。


define("module", ["dep1", "dep2"], function(d1, d2) {
  return someExportedValue;
});
require(["module", "../file"], function(module, file) { /* ... */ });

  优点

  适合在浏览器环境中异步加载模块

  可以并行加载多个模块

  缺点

  提高了开发成本,代码的阅读和书写比较困难,模块定义方式的语义不顺畅

  不符合通用的模块化思维方式,是一种妥协的实现

  实现

  RequireJS

  curl