摘要:之前寫(xiě)的文章急速全棧教程得到了不錯(cuò)的閱讀量,霸屏掘金頭條天,點(diǎn)贊過(guò)千,閱讀近萬(wàn),甚至還有人在評(píng)論區(qū)打廣告,可見(jiàn)也是一個(gè)小小的生態(tài)了。今天看到的霸屏的,也是講全棧的,見(jiàn)參考文章接下來(lái)要寫(xiě)的是模塊。全局命名污染和命名沖突依賴管理。
之前寫(xiě)的文章急速Js全棧教程得到了不錯(cuò)的閱讀量,霸屏掘金頭條3天,點(diǎn)贊過(guò)千,閱讀近萬(wàn),甚至還有人在評(píng)論區(qū)打廣告,可見(jiàn)也是一個(gè)小小的生態(tài)了;)??磥?lái)和JS全棧有關(guān)的內(nèi)容,還是有人頗有興趣的。今天看到的霸屏的,也是講全棧的,見(jiàn)參考文章7
接下來(lái)要寫(xiě)的是模塊。JavaScript Module 真是很討厭,但是不得不了解的話題。奇葩在于:
它一個(gè)非常老的語(yǔ)言,并且使用非常廣泛
可是它很多年來(lái)也不支持模塊。這得廠家當(dāng)前是多大的心呢
再一個(gè)可是,它可以直接用現(xiàn)有的語(yǔ)言機(jī)制,實(shí)現(xiàn)自己的模塊,這個(gè)就厲害了,因?yàn)樗尫帕松鐓^(qū)的力量。事實(shí)證明,社區(qū)果然不可小看,這個(gè)年代,螞蟻雄兵勝過(guò)大象的
再再一個(gè)但是,它的模塊還可以有很多型的,這說(shuō)的是分裂
這么多型的模塊,還搞了各自獨(dú)立的標(biāo)準(zhǔn)出來(lái),這說(shuō)的是整合
最近的ES2017,終于在前端也有了媲美后端的模塊,但是大家并不準(zhǔn)備把它用起來(lái),很多人表示需要繼續(xù)Webpack玩轉(zhuǎn)ES6模塊。
把ES6模塊真用的起來(lái),可以不在乎Webpack等打包工具帶來(lái)的加載優(yōu)化,各種小文件不必打包這點(diǎn)來(lái)說(shuō),我看還得加上HTTP/2的配合就好很多了。這也是文章將要介紹的一個(gè)主旨吧。ES6模塊的引入,確實(shí)有可能對(duì)當(dāng)前主流的打包模式有些影響,參考文章6內(nèi)有所論述
文章自然也不少,但是寫(xiě)作此文的理由還是存在:
我還沒(méi)有看到一個(gè)完整的全覽,并且結(jié)合HTTP/2的更加沒(méi)有看到。
而且,在我看來(lái),即使有了ES6模塊,也得了解和學(xué)習(xí)之前拼出來(lái)的各種模塊,因?yàn)樯鐓^(qū)內(nèi)的代碼還大量的使用這樣的模塊,其中的一些設(shè)計(jì)模式,比如IIFE,也是值得一看的。
看到JS社區(qū)的熱情和推動(dòng)力,相信JS發(fā)展的未來(lái)是美好的
參考文章不少,其中模塊歷史和選型如下:
前端模塊化開(kāi)發(fā)那點(diǎn)歷史
梳理的還是比較清晰
有點(diǎn)黑客精神的小伙伴,玩的很廣譜
介紹Bower
npm for Beginners: A Guide for Front-end Developers
Es6module 出來(lái)了,是否應(yīng)該重新考慮打包的方案?
前后端分離 Vue + NodeJS(Koa) + MongoDB,從產(chǎn)品到開(kāi)發(fā),全棧實(shí)踐沒(méi)有看過(guò)的,不妨去看看。
提到模塊,也不得不提到各種模塊依賴管理工具,也還有前端工程化的內(nèi)容。一個(gè)前端組件,卻常常提到可以使用npm安裝此組件,可是npm是后端的nodejs領(lǐng)域的東西啊,所以,這樣的提法是有些令人困惑的。比如為什么NPM作為后端模塊的管理工具,前端也在使用它,有什么優(yōu)點(diǎn)和缺點(diǎn),可以在這里了解顯示情況:npm、bower、jamjs 等包管理器,哪個(gè)比較好用?,還有這里npm and the front end,NPM官方也對(duì)npm在前端的使用,提出了自己的看法,捎帶著,也有前端自動(dòng)化,搜索詞是 why a front end component install by npm,對(duì)于喜歡Google發(fā)現(xiàn)的人來(lái)說(shuō),這類詞很有用 。
未來(lái)的文章的內(nèi)容綱要:
最古老的模塊加載