99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

什么是 Webpack

2018-08-01 14:27 更新

Webpack 是一個(gè)模塊打包器。它將根據(jù)模塊的依賴關(guān)系進(jìn)行靜態(tài)分析,然后將這些模塊按照指定的規(guī)則生成對(duì)應(yīng)的靜態(tài)資源。

什么是webpack

為什么重復(fù)造輪子

市面上已經(jīng)存在的模塊管理和打包工具并不適合大型的項(xiàng)目,尤其單頁面 Web 應(yīng)用程序。最緊迫的原因是如何在一個(gè)大規(guī)模的代碼庫中,維護(hù)各種模塊資源的分割和存放,維護(hù)它們之間的依賴關(guān)系,并且無縫的將它們整合到一起生成適合瀏覽器端請(qǐng)求加載的靜態(tài)資源。

這些已有的模塊化工具并不能很好的完成如下的目標(biāo):

  • 將依賴樹拆分成按需加載的塊
  • 初始化加載的耗時(shí)盡量少
  • 各種靜態(tài)資源都可以視作模塊
  • 將第三方庫整合成模塊的能力
  • 可以自定義打包邏輯的能力
  • 適合大項(xiàng)目,無論是單頁還是多頁的 Web 應(yīng)用

Webpack 的特點(diǎn)

Webpack 和其他模塊化工具有什么區(qū)別呢?

代碼拆分

Webpack 有兩種組織模塊依賴的方式,同步和異步。異步依賴作為分割點(diǎn),形成一個(gè)新的塊。在優(yōu)化了依賴樹后,每一個(gè)異步區(qū)塊都作為一個(gè)文件被打包。

Loader

Webpack 本身只能處理原生的 JavaScript 模塊,但是 loader 轉(zhuǎn)換器可以將各種類型的資源轉(zhuǎn)換成 JavaScript 模塊。這樣,任何資源都可以成為 Webpack 可以處理的模塊。

智能解析

Webpack 有一個(gè)智能解析器,幾乎可以處理任何第三方庫,無論它們的模塊形式是 CommonJS、 AMD 還是普通的 JS 文件。甚至在加載依賴的時(shí)候,允許使用動(dòng)態(tài)表達(dá)式 require("./templates/" + name + ".jade")。

插件系統(tǒng)

Webpack 還有一個(gè)功能豐富的插件系統(tǒng)。大多數(shù)內(nèi)容功能都是基于這個(gè)插件系統(tǒng)運(yùn)行的,還可以開發(fā)和使用開源的 Webpack 插件,來滿足各式各樣的需求。

快速運(yùn)行

Webpack 使用異步 I/O 和多級(jí)緩存提高運(yùn)行效率,這使得 Webpack 能夠以令人難以置信的速度快速增量編譯。



以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)