本文實(shí)例講述了ES6新特性之模塊Module用法。分享給大家供大家參考,具體如下:
一、Module簡介
ES6的Class只是面向?qū)ο缶幊痰恼Z法糖,升級了ES5的構(gòu)造函數(shù)的原型鏈繼承的寫法,并沒有解決模塊化問題。Module功能就是為了解決這個(gè)問題而提出的。
歷史上,JavaScript一直沒有模塊(module)體系,無法將一個(gè)大程序拆分成互相依賴的小文件,再用簡單的方法拼裝起來。其他語言都有這項(xiàng)功能。
在ES6之前,社區(qū)制定了一些模塊加載方案,最主要的有CommonJS和AMD兩種。前者用于服務(wù)器,后者用于瀏覽器。ES6在語言規(guī)格的層面上,實(shí)現(xiàn)了模塊功能,而且實(shí)現(xiàn)得相當(dāng)簡單,完全可以取代現(xiàn)有的CommonJS和AMD規(guī)范,成為瀏覽器和服務(wù)器通用的模塊解決方案。
ES6模塊的設(shè)計(jì)思想,是盡量的靜態(tài)化,使得編譯時(shí)就能確定模塊的依賴關(guān)系(這種加載稱為“編譯時(shí)加載”),以及輸入和輸出的變量。CommonJS和AMD模塊,都只能在運(yùn)行時(shí)確定這些東西。
瀏覽器使用ES6模塊的語法如下。