网站首页 > 技术文章 正文
今天介绍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规范,你了解过吗?
猜你喜欢
- 2024-09-30 (移动端优化)前端开发规范整理 前端开发必知必会
- 2024-09-30 前端模块化开发之AMD规范,你了解过吗?
- 2024-09-30 搭建一个企业级前端开发规范 企业级前端项目
- 2024-09-30 一起学习下,前端开发中应该遵循的CSS规范
- 2024-09-30 硬核!web前端开发规范手册,建议白嫖,拿走不谢
- 2024-09-30 每天都在写前端代码,看看腾讯的前端代码规范
你 发表评论:
欢迎- 最近发表
-
- 前端流行框架Vue3教程:13. 组件传递数据_Props
- 前端必看!10 个 Vue3 救命技巧,解决你 90% 的开发难题?
- JAVA和JavaScript到底是什么关系?是亲戚吗?
- Java和js有什么区别?(java和javascript的区别和联系)
- 东方标准|Web和Java的区别,如何选择这两个专业
- 前端面试题-JS 中如何实现大对象深度对比
- 360前端一面~面试题解析(360前端笔试)
- 加班秃头别慌!1 道 Vue 面试题,快速解锁大厂 offer 通关密码
- 焦虑深夜刷题!5 道高频 React 面试题,吃透 offer 稳了
- 2025Web前端面试题大全(整理版)面试题附答案详解,最全面详细
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)