?述說Parcel:一個快速的零配置的web打包工具 ?

這篇文章總字數:1214,普通閱讀4分鐘,速讀2分鐘,主要講的是新的打包工具parcel的一些新特性,謝謝,有興趣朋友能夠關注一下個人 github上面有30多篇文章,喜歡的能夠watch或者star。你的支持是我輸出的動力。

前言

今天很高興來說一下新的打包工具parcel,一個快速的,零配置的打包工具。能夠點擊這裏看他的github.css

爲了解決現有webpack等打包工具存在的問題:性能和配置複雜度。我開始研究parcel。html

以webpack舉例,我認爲打包工具是用來減輕前端負擔的,可是在webpack上我並無感受到,除了須要學習webpack外,配置的時候仍是要查詢中文文檔,由於太多的插件根本不適合記憶,還有性能方面,當頁面足夠多時,打包的速度開始變得很慢,我記得咱們公司一個運營中心的項目,打包時間慘目忍睹。

特色

  • ?打包速度快——多核編譯,以及文件系統緩存,即便在從新啓動後也能快速重建。
  • ?支持JS,CSS,HTML,圖像,文件資產等等——不安裝插件
  • ?當咱們須要時使用Babel,PostCSS和PostHTML自動轉換模塊——甚至是node_modules包
  • ✂️使用動態import()語句進行零配置代碼的分割
  • ?編譯項目的時候支持熱更新模塊
  • ?友好地錯誤日誌體驗——語法高亮有助於咱們追蹤問題

性能

首先我想說的就是性能,我上面已經說了,當一個項目有好多個頁面的時候,你的打包速度真的是慢,webpack也是同樣,一個項目要打包上線,這裏花的時間,均可以早點下班了,開發過程當中也是同樣,不過本地的話,你還能夠給打包單一幾個頁面。前端

不少打包工具都注重於能快速的從新構建,這是偉大的,可是,初次構建的性能對於開發和生產來講是很重要的node

parcel解決了這個問題,在編譯過程當中,並行的編譯代碼,並使用現代的多核處理器解決這個問題。上述緣由影響了初步構建的速度。他也有文件緩存系統,以便於快速的重建。webpack

Based on a reasonably sized app, containing 1726 modules, 6.5M uncompressed. Built on a 2016 MacBook Pro with 4 physical CPUs.

零配置體驗

第二個緣由就是幫助咱們減輕配置的負擔,大多數打包工具是圍繞着配置文件創建起來的,配置文件有不少的插件。一個webpack的打包工程500行代碼,已經不是什麼稀罕的事情了。git

這種配置不只繁瑣耗時,並且你不能保證你必定是正確的,還得參照規範改,這可能致使優化應用程序而影響正常的生產github

parcel被設計爲零配置:只須要應用程序入口給它,他就能夠正確的打包。Parcel支持JS,CSS,HTML,圖像,文件資產等等 - 不須要任何插件。web

parcel的零配置體驗還體如今不侷限於文件格式,當parcel檢測到一個.babelrc, .postcssrc等文件,就會自動轉化相應模塊,好比Babel, PostCSS和PostHTML。這甚至適用於僅用於該模塊的node_modules中的第三方代碼,由於應用的使用者,不須要知道構建的時候每個模塊是如何導入的。而且此次構建也沒有必要讓Babel在每個文件上的運行緩存

最後,parcel也很好的支持一些先進的打包功能,像代碼拆分,熱更新等。在生產模式中,還支持自動壓縮,將來也可能加入像tree-shaking等優化babel

將來發展的前景

開啓新項目的好處就是,parcel可使用現代的體系結構,沒有歷史包袱,而且在這個體系結構上擴展,更加靈活,並支持代碼拆分和熱更新等功能。

如今主流的打包工具仍是主要關注JavaScript,好比webpack,其餘類型的文件也要經過loader將其變成JavaScript來進行打包。

但在parcel中,任何類型的文件都有機會成爲一等公民,很容易能夠添加一種新類型輸入文件,並將相似類型的文件組合到輸出文件中

你能夠在這個網站上了解更多關於parcel如何工做的

嘗試一下吧!!

parcel纔剛剛開始就收到大衆追捧,嘗試一下吧

相關文章
相關標籤/搜索