
1.2
模块化简史
|
3
这种强制性的分离是有效的,因为它可以保持组件的整齐以及层级的一致。
从开发者的角度看,一致的层级(由模式和外观相似的组件组成)可带来
熟悉感,这种熟悉感让人能够持久地使用它,并且随着时间的推移,开发
人员会越来越熟悉
API
的形态(
shape
)。
由于设计出合适的接口是一件有难度的事情,所以采用一致的
API
形态是
提高生产力的好方法。当我们始终如一地使用相似的
API
形态时,就不必
每次都重新提出新的设计,而且使用者对于你不会每次都重新造轮子的行
为也能感到放心。在接下来的章节中,我们将详细讨论
API
设计。
1.2
模块化简史
对于
JavaScript
来说,模块化是一个现代概念。在本节中,我们将快速回
顾和总结
JavaScript
世界中模块化发展的里程碑,我们仅介绍主流做法在
JavaScript
历史中的演化,而不会详尽地进行说明。
1.2.1
Script
标签和闭包
在早期,
JavaScript
被嵌入到
HTML
<script>
标签中,好一点的情况是把
它封装到专门的脚本文件中调用,所有这些脚本文件都共享一个全局作用
域。
在这些文件或内联脚本中声明的任何变量或绑定(
binding
)都被挂载到全
局的
window
对象上,因此造成了不相关脚本的互相污染,这可能会导致冲
突甚至程序崩溃,因为某个脚本中的变量可能会在无意中覆盖了另一个脚
本所依赖的全局变量 :