【JS】兼容AMD,CMD库,实现模块操作的理论与实践

模块:通常是开发人员为了避免和他人冲突把内含JavaScript 代码的独立文件放置在一个闭包中,注册其功能并导出模块的值,以工程化的思维将复杂系统拆分成一个个小的可管理的模块,其目标为减少项目的复杂度,提升项目的可维护度、代码复用。

AMD:浏览器中编写模块化Javascript的格式(通过识别号进行查找),实现了解耦及包括异步的调用和其本身的高扩展性, 简称为异步模块定义,主要实现: RequireJS

define(
    module_id, // 可选  ID或者标识符
    [dependencies], // 可选  定义的模块需要的依赖项数组
    definition  // 执行初始化模块的方法  将依赖项映射到函数参数 
);

define("myModule", ["hello"], function( hello ){
  hello() // 引入并执行

  return  function world(){ // 导出world函数
    console.log('world');
  };

});

CMD:  一个模块就是一个文件,与 RequireJS 的 AMD 规范相比,CMD 规范尽量保持简单,并与 CommonJS 和 Node.js 的 Modules 规范保持了很大的兼容性。通过 CMD 规范书写的模块,可以很容易在 Node.js 中运行,

define({ "foo": "bar" });  // 对象

define('I am a template. My name is {
  {name}}.'); // 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值