官术网_书友最值得收藏!

第2章 模塊機制

首先,我想從模塊為你娓娓道來Node。

JavaScript自誕生以來,曾經沒有人拿它當做一門真正的編程語言,認為它不過是一種網頁小腳本而已,在Web 1.0時代,這種腳本語言在網絡中主要有兩個作用廣為流傳,一個是表單校驗,另一個是網頁特效。另一方面,由于倉促地被創造出來,所以它自身的各種陷阱和缺點也被各種編程人員廣為詬病。直到Web 2.0時代,前端工程師利用它大大提升了網頁上的用戶體驗。在這個過程中,B/S應用展現出比C/S應用優越的地方。至此,JavaScript才被廣泛重視起來。

在Web 2.0流行的過程中,各種前端庫和框架被開發出來,它們最初用于兼容各個版本的瀏覽器,隨后隨著更多的用戶需求在前端被實現,JavaScript也從表單校驗躍遷到應用開發的級別上。在這個過程中,它大致經歷了工具類庫、組件庫、前端框架、前端應用的變遷,如圖2-1所示。

圖2-1 JavaScript的變遷

經歷了長長的后天努力過程,JavaScript不斷被類聚和抽象,以更好地組織業務邏輯。從另一個角度而言,它也道出了JavaScript先天就缺乏的一項功能:模塊。

在其他高級語言中,Java有類文件,Python有import機制,Ruby有require, PHP有include和require。而JavaScript通過<script>標簽引入代碼的方式顯得雜亂無章,語言自身毫無組織和約束能力。人們不得不用命名空間等方式人為地約束代碼,以求達到安全和易用的目的。

但是看起來凌亂的JavaScript編程現狀并不代表著社區沒有進步,JavaScript的本地化編程之路一直在探索中。在Node出現之前,服務器端JavaScript基本沒有市場,與欣欣向榮的前端JavaScript應用相比,Rhino等后端JavaScript運行環境基本只是用于小工具,但是經歷十多年的發展后,社區也為JavaScript制定了相應的規范,其中CommonJS規范的提出算是最為重要的里程碑。

主站蜘蛛池模板: 奉新县| 甘洛县| 乾安县| 外汇| 安龙县| 田东县| 武山县| 二连浩特市| 宁津县| 固始县| 奇台县| 历史| 宣化县| 潞城市| 全南县| 镇坪县| 宣化县| 柯坪县| 环江| 北京市| 河曲县| 福建省| 东台市| 隆尧县| 沽源县| 金平| 盐源县| 长顺县| 宝山区| 白银市| 平乡县| 垣曲县| 资溪县| 台东县| 息烽县| 固镇县| 武鸣县| 额济纳旗| 策勒县| 莱阳市| 东至县|