专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

前端开发必看的3种JS规范 前端 规范

ins518 2024-09-30 21:30:21 技术文章 11 ℃ 0 评论

今天介绍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标准让你必须提前在头部依赖参数部分写好。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表