🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
首先,我想从模块为您娓娓道来Node。 JavaScript 自诞生以来,曾经没有人拿它当作一门真正的编程语言,认为它不过是一种网页小脚本而已,在Web1.0时代,这种脚本语言在网络中主要有两个作用:一个是表单校验,另一个是网页特效。另一方面,由于仓促被创造出来,它自身各种陷阱和缺点也被各种编程人员所诟病。直到Web2.0时代,前端工程师利用它大大的提升了网页上的用户体验。在这个过程中,B/S应用展现出比C/S应用优越的地方。至此,JavaScript才被广泛重视起来。 在Web2.0流行的过程中,各种前端库和框架被开发出来,它们最初用于兼容各个版本的浏览器,随后随着更多的用户需求在前端被实现,JavaScript也从表单校验跃迁到应用开发的级别上。在这个过程中,它大致经历了工具类库、组件库、前端框架、前端应用的变迁,如下图所示: ![](https://box.kancloud.cn/2016-08-25_57bdc8fb50916.png) 经历了长长的后天努力过程,JavaScript不断被类聚和抽象,以更好的组织业务逻辑。从另一个角度而言,它也道出了JavaScript先天就缺失的一项功能:**模块**。 在其它高级语言中,Java有类文件,Python有import机制,Ruby有require,PHP有include和require。而JavaScript通过 <script> 标签引入代码的方式显得杂乱无章,语言自身毫无组织和约束能力。人们不得不用命名空间等方式人为的约束代码,以求达到安全易用的目的。 但是看起来凌乱的JavaScript编程现状并不代表着社区没有进步,JavaScript的本地化编程之路一直在探索中。在Node出现之前,服务器端JavaScript基本没有市场,与欣欣向荣的前端JavaScript应用相比,Rhino等后端JavaScript运行环境基本只是用于小工具,但是经历十多年的发展后,社区也为JavaScript制定了相应的规范,其中CommonJS规范的提出算是最为重要的里程碑。