网站首页 > 技术文章 正文
今天介绍JS中CommonJS, AMD, CMD规范,这三个规范都是为Javascript模块化加载而生的。
都是用在预计要用到某些模块时加载该模块,使得开发复杂系统时巨大的庞杂的代码得以很好的组织和管理。
模块化使得我们在使用和管理代码的时候不那么混乱,而且也方便了多人的合作。
CommonJS
CommonJS规范主要是在服务器端模块化的规范,一个单独的文件就是一个模块。
每一个模块都是一个单独的作用域,在该模块内部定义的变量,无法被其他模块读取,除非定义为全局对象属性。
在CommonJS中有一个全局性方法require( ),用于加载模块。
CommonJS 加载模块是同步的,所以只有加载完成才能执行后面的操作。
像Node.js主要用于服务器的编程,加载的模块文件一般都已经存在本地硬盘,所以加载起来比较快,不用考虑异步加载的方式,所以CommonJS规范比较适用。
但如果是浏览器环境,要从服务器加载模块,这是就必须采用异步模式。
所以就有了AMD解决方案。
AMD
AMD,英文全称:Asynchronous Module Definition。
这个规范可以实现异步加载依赖模块,并且会提前加载。
看一下AMD规范你会发现,AMD基本都是提前说明依赖模块,然后预加载这些模块。
实际上这就要求你提前想好这些依赖,提前写好,不然写代码过程中要回到开头继续添加依赖。
CMD
不知道是不是针对这个问题,淘宝的玉伯大牛搞了个SeaJs出来,并声称这个是遵循CMD(Common Module Definition)规范的。
从SeaJs可以看出CMD与AMD一样都是预加载依赖js,不同的地方是调用和声明依赖的地方。
AMD和CMD都是用define和require,但是CMD标准倾向于在使用过程中提出依赖。
就是不管代码写到哪突然发现需要依赖另一个模块,那就在当前代码用require引入就可以了,规范会帮你搞定预加载,你随便写就可以了。
但是AMD标准让你必须提前在头部依赖参数部分写好。
- 上一篇: 搭建一个企业级前端开发规范 企业级前端项目
- 下一篇: 前端模块化开发之AMD规范,你了解过吗?
猜你喜欢
- 2025-06-12 汽车吊作业——载人吊笼作业安全管理规定
- 2025-06-12 封面评论 | 前端规范“快递盒广告”,切断挖坑设陷的隐秘链条
- 2024-09-30 (移动端优化)前端开发规范整理 前端开发必知必会
- 2024-09-30 前端模块化开发之AMD规范,你了解过吗?
- 2024-09-30 搭建一个企业级前端开发规范 企业级前端项目
- 2024-09-30 一起学习下,前端开发中应该遵循的CSS规范
- 2024-09-30 硬核!web前端开发规范手册,建议白嫖,拿走不谢
- 2024-09-30 每天都在写前端代码,看看腾讯的前端代码规范
你 发表评论:
欢迎- 585℃几个Oracle空值处理函数 oracle处理null值的函数
- 580℃Oracle分析函数之Lag和Lead()使用
- 566℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 564℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 559℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 552℃【数据统计分析】详解Oracle分组函数之CUBE
- 539℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 532℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)