預告:JavaScript模組全覽

RecoReco發表於2018-08-31

之前寫的文章急速Js全棧教程得到了不錯的閱讀量,霸屏掘金頭條3天,點贊過千,閱讀近萬,甚至還有人在評論區打廣告,可見也是一個小小的生態了;)。看來和JS全棧有關的內容,還是有人頗有興趣的。今天看到的霸屏的,也是講全棧的,見參考文章7

預告:JavaScript模組全覽

接下來要寫的是模組。JavaScript Module 真是很討厭,但是不得不瞭解的話題。奇葩在於:

  1. 它一個非常老的語言,並且使用非常廣泛
  2. 可是它很多年來也不支援模組。這得廠家當前是多大的心呢
  3. 再一個可是,它可以直接用現有的語言機制,實現自己的模組,這個就厲害了,因為它釋放了社群的力量。事實證明,社群果然不可小看,這個年代,螞蟻雄兵勝過大象的
  4. 再再一個但是,它的模組還可以有很多型的,這說的是分裂
  5. 這麼多型的模組,還搞了各自獨立的標準出來,這說的是整合

最近的ES2017,終於在前端也有了媲美后端的模組,但是大家並不準備把它用起來,很多人表示需要繼續Webpack玩轉ES6模組

把ES6模組真用的起來,可以不在乎Webpack等打包工具帶來的載入優化,各種小檔案不必打包這點來說,我看還得加上HTTP/2的配合就好很多了。這也是文章將要介紹的一個主旨吧。ES6模組的引入,確實有可能對當前主流的打包模式有些影響,參考文章6內有所論述

文章自然也不少,但是寫作此文的理由還是存在:

  1. 我還沒有看到一個完整的全覽,並且結合HTTP/2的更加沒有看到。
  2. 而且,在我看來,即使有了ES6模組,也得了解和學習之前拼出來的各種模組,因為社群內的程式碼還大量的使用這樣的模組,其中的一些設計模式,比如IIFE,也是值得一看的。
  3. 看到JS社群的熱情和推動力,相信JS發展的未來是美好的

參考文章不少,其中模組歷史和選型如下:

  1. 前端模組化開發那點歷史
  2. 梳理的還是比較清晰
  3. 有點黑客精神的小夥伴,玩的很廣譜
  4. 介紹Bower
  5. npm for Beginners: A Guide for Front-end Developers
  6. Es6module 出來了,是否應該重新考慮打包的方案?
  7. 前後端分離 Vue + NodeJS(Koa) + MongoDB,從產品到開發,全棧實踐沒有看過的,不妨去看看。

提到模組,也不得不提到各種模組依賴管理工具,也還有前端工程化的內容。一個前端元件,卻常常提到可以使用npm安裝此元件,可是npm是後端的nodejs領域的東西啊,所以,這樣的提法是有些令人困惑的。比如為什麼NPM作為後端模組的管理工具,前端也在使用它,有什麼優點和缺點,可以在這裡瞭解顯示情況:npm、bower、jamjs 等包管理器,哪個比較好用?,還有這裡npm and the front end,NPM官方也對npm在前端的使用,提出了[自己的看法][blog.npmjs.org/post/101775…],捎帶著,也有[前端自動化][yujiangshui.com/grunt-basic…],搜尋詞是 why a front end component install by npm,對於喜歡Google發現的人來說,這類詞很有用 。

未來的文章的內容綱要:

  1. 最古老的模組載入

相關文章