webpack阮一峰 require.js、sea.js、webpack、browserify分別是什么?各自的應(yīng)用場(chǎng)景有哪些?
require.js、sea.js、webpack、browserify分別是什么?各自的應(yīng)用場(chǎng)景有哪些? 需要.js、 海.js它是模塊化的。對(duì)于一個(gè)JS比較多的項(xiàng)目,直接在頁(yè)面上介紹JS是不美觀的
require.js、sea.js、webpack、browserify分別是什么?各自的應(yīng)用場(chǎng)景有哪些?
需要.js、 海.js它是模塊化的。對(duì)于一個(gè)JS比較多的項(xiàng)目,直接在頁(yè)面上介紹JS是不美觀的,會(huì)影響效率。這兩者的出現(xiàn)就是為了解決這個(gè)問(wèn)題。它們可以按需異步加載JS。大型項(xiàng)目不必一個(gè)接一個(gè)地寫(xiě)。Browser/webpack是一個(gè)前端打包工具
gulp應(yīng)該與grunt相比較。我不談他們之間的區(qū)別。我們來(lái)談?wù)勊挠猛尽ulp/grunt是一個(gè)優(yōu)化前端工作流的工具。例如,自動(dòng)刷新頁(yè)面、組合、壓縮CSS、JS、編譯less等等。簡(jiǎn)而言之,就是使用gulp/grunt,然后配置您需要的插件,這樣您就可以讓它手動(dòng)完成您需要做的事情。當(dāng)涉及到browse/webpack時(shí),也涉及到seajs/requirejs。這四個(gè)是JS模塊化解決方案。Seajs/require是一種類(lèi)型,browse/webpack是另一種類(lèi)型。Seajs/require:是一個(gè)在線“編譯”模塊解決方案,相當(dāng)于在頁(yè)面上加載CMD/AMD解釋器。這樣,瀏覽器就可以了解define、exports和module。實(shí)現(xiàn)了模塊化。Browserify/webpack:是一種預(yù)編譯模塊方案,比上述方案更智能。我沒(méi)用過(guò)browserify。這里我們以webpack為例。首先,它是預(yù)編譯的,不需要在瀏覽器中加載解釋器。另外,您可以直接在本地編寫(xiě)JS。無(wú)論是amd/CMD/ES6風(fēng)格的模塊化,它都能識(shí)別并編譯成瀏覽器能識(shí)別的JS。這樣一來(lái),gulp就是一個(gè)工具,而webpack等都是模塊化的解決方案。Gulp還可以為seajs、requirejs甚至webpack配置插件。