模块化发展史

80 阅读2分钟

【抄作业】

第一阶段

在 JavaScript 语言刚刚诞生的时候,它仅仅用于实现页面中的一些小效果

那个时候,一个页面所用到的 JS 可能只有区区几百行的代码

第二阶段

Ajax的出现,逐渐改变了javascript在浏览器中扮演的角色。不仅可以实现小效果,还可以和服务器之间进行交互,以更好的体验来改变数据。

随时代码量开始增加,前端程序开始复杂

这时制约前端程序的规模扩大的原因:

  1. 浏览器解释执行js的速度太慢
  2. 用户端的电脑配置不足
  3. 更多的代码带来全局变量污染、依赖关系混乱等问题

在这个阶段,前端开发处在一个非常尴尬的境地,它在传统的开发模式和前后端分离之间无助的徘徊

第三阶段

到了2008年,谷歌的 V8 引擎发布,将JS的执行速度推上了一个新的台阶,甚至可以和后端语言媲美。

突然间,制约前端发展的两大问题得以解决,此时,只剩下最后一个问题还在负隅顽抗,即全局变量污染和依赖混乱的问题,解决了它,前端便可以突破一切障碍,未来无可限量。

2009年,Ryan推出了web服务项目,命名为nodejs。

nodejs诞生,把js中的最后一个问题放到了台前——全局变量污染和依赖混乱

nodejs 是服务器端,如果不解决这个问题,分模块开发就无从实现,社区激烈讨论,形成了一个模块化的方案——commonjs

Commonjs的出现彻底解决了全局变量污染和依赖混乱的问题

该方案一出,立即被nodejs支持,于是,nodejs成为了第一个为JS语言实现模块化的平台,为前端接下来的迅猛发展奠定了实践基础

第四阶段

CommonJS的出现打开了前端开发者的思路

既然后端可以使用模块化的JS,作为JS语言的老东家浏览器为什么不行呢?

于是,开始有人想办法把CommonJS运用到浏览器中,但是存在这诸多的问题。

围绕着这些问题重新定了一个模块化的标准,AMD规范出炉,它的解决方案和commonjs一样,但是可以更好的适应浏览器环境。

相继的CMD规范也出现了,对AMD规范进行了改进。

后续ECMA官方的关系,ES6发布,提出了官方的模块化的解决方案——ES6模块化

从此以后,模块化成为了JS本身特有的性质,这门语言终于有了和其他语言较量的资本,成为了可以编写大型应用的正式语言