詳解Parcel:快速,零配置web應用打包工具

雲棲直播~發表於2018-06-29

Parcel有什麼特別的,我為什麼要關心它?

雖然webpack提供了非常多靈活的配置,但是與之帶來的是複雜度的提升,而Parcel卻非常的簡潔。Parcel自己的口號也是非常直白:零配置。

為什麼這麼神奇?— Parcel有一個開箱即用的開發伺服器。 開發伺服器會在您更改檔案時自動重建您的應用程式,並支援熱模組過載以實現快速開發。

Parcel有什麼好處?

  • 快速捆綁時間 – Parcel比Webpack,Rollup和Browserify更快。

c1989ea6c263970a75496d67de464397be9a730d

然而需要注意的是:Webpack仍然很棒,有時可能會更快

7334eccf90f3013e784fb6b4fc5a13966b077de6

  • Parcel支援JS,CSS,HTML,file assets等等,並且不需要外掛配置,使用者體驗更友好。

  • 零配置需要:開箱即用的程式碼分割,熱模組重新載入,css前處理器,開發伺服器,快取等等!

  • 更友好的錯誤日誌。

80ce1fd9a706e6b532cddca710bb1443d0c3a258

Fundebug:及時發現Bug,提高Debug效率!

什麼情況下使用Parcel,Webpack或Rollup?

其實主要取決於你自己,但我個人會通過以下情況來選擇適合的:

Parcel: 中小型專案(1.5萬行程式碼以內)。
Webpack: 大型企業規模專案。
Rollup: 用於NPM包。

安裝非常簡單

npm install parcel-bundler --save-dev

我們在本地安裝了 parcel-bundler的npm包,現在我們需要初始化一個node專案。

c424168eb3d292c4e860d3687b1bef30f072c3eb

index.html 和 index.js 關連起來。

c3a8545220097524c7d659c787b9364040e1a40e

5bb7fb7c97050da0a54b0b2a79c296428231b930

最後將parcel指令碼新增到我們的package.json

3c492144a2814ff4b8924183ed190a5922a768d6

這就是所有的配置,是不是非常簡單。

接下來,讓我們開啟伺服器。

c775351aafa70c102bcf69a5b4774470e8ff550b

0b9c6daa13f28fb1c8f20a16ccefc789b79d568e

效果明顯了,大佬們請注意構建時間!

dd4a77145868ba88a30338f2bce4b72c6da3a0a8

15ms?! 是不是很牛逼!

再看一下HMR

5d439b635a9ec43a6a770cdbc2dcc68b25947784

也感覺非常快啊。

689445298f56ef7850eb319eb844aed6ab21af6d

同樣先需要裝node-sass

npm i node-sass && touch styles.scss

接下來,新增一些樣式並將styles.scss匯入index.js檔案

ccb8db528e8fb2e45668abdfa0e99df6a2487415

7b733ed69a09de91bf5012b3381d8b57b45a9730

9efe549cbded0fc0503269db83a299c9f66657da

生產構建

我們所需要的只是將一個build指令碼新增到我們的package.json

55a4752a0fa94224ffd906d7a38e309c636d51dd

執行build指令碼

4cffe545559b9321a32957fe14e7aac99f4c270a


看看Parcel如何讓我們的生活變得輕鬆?

55c0c60b03cd5844537cae6f549d25c102aa99e9

你可以像這樣指定一個特定的build路徑:

parcel build index.js -d build/output

Fundebug錯誤實時監控為您的React專案保駕護航!

React

7527d9529f9ba625a86f7bf0ec773cbdec70cf80

設定React非常簡單,我們需要做的就是安裝我們的依賴並設定我們的.babelrc

npm install --save react react-dom babel-preset-env babel-preset-react && touch .babelrc

cf11de19b843b4893fe2bdc3317ef93b1a7809fe

來寫個初始化React元件玩玩吧!

8e64968424c94a637298a00896c78c63d9c76bce

25cc0280093cb8c84a2c3d75d339e1b1a86b6558

Fundebug錯誤實時監控為您的Vue專案保駕護航!

Vue

首先安裝vueparcel-plugin-vue ,其中parcel-plugin-vue用於.vue元件支援。

$ npm i --save vue parcel-plugin-vue

需要新增我們的根元素,匯入vue的index檔案並初始化Vue。

首先生成個vue目錄,然後建立index.jsapp.vue

$ mkdir vue && cd vue && touch index.js app.vue

index.html引用ndex.js

337bdbd291a2ef1637c0097105147578662dee73

最後,讓我們初始化vue並編寫我們的第一個vue元件!

cf6e22580f676376afa322ed2a8abc7ef4d10b52

4b3d4879c68aa06deb677157db4bf6a3ae0ded12

58f9799678dd72aad28dbd12f503642588e8afb9

TypeScript

5b45b7df98fe92cda0df038e8bcd0937b7f1ce7c

這個非常簡!只需安裝TypeScript,我們就可以開始。

npm i --save typescript

建立index.ts檔案並將其插入index.html

e087d7b00da2e3a698acb0b91d15a7f72c5ed457

d1ebd88ff7dd19463cf3470b089c6b9642bb5da2

0cb0d8109d66deb0ea65c5478d9b2a59b4033eec

原文釋出時間為:2018年06月14日
原文作者:Fundebug

本文來源: 掘金 如需轉載請聯絡原作者


相關文章