[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

Fate_輕舞飛揚發表於2018-01-09

關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具 ?

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

真的嗎? 又一個打包/構建工具? 是的 —— 你應該相信, 進步和創新相結合給你帶來了 Parcel

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

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

當 webpack 以高複雜性的代價給我們帶來了很多配置的時候 —— Parcel 卻很簡單。它號稱“零配置"。

揭開上面的疑惑 —— Parcel 有一個開箱即用的開發伺服器。它會在你更改檔案的時候自動重建你的應用程式,並支援 模組熱替換 以實現快速開發。

Parcel 有什麼優勢?

  • 快速打包 —— Parcel 比 Webpack,Rollup 和 Browserify 打包更快。

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

Parcel benchmarks

需要考慮到的一點是:Webpack 仍然是極好的,並且有時候能更快

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

來源

  • Parcel 支援 JS,CSS,HTML,檔案資源等 —— 無需外掛 —— 對使用者更加友好。
  • 無需配置。開箱即用的程式碼拆分,熱模組更新,css預處理,開發伺服器,快取等等!
  • 更友好的錯誤日誌。

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

Parcel 錯誤處理

那麼 —— 我們應該在什麼時候使用 Parcel, Webpack 或者 Rollup 呢?

這完全取決於你,但我個人會在以下情況使用不同的打包工具:

Parcel —— 中小型專案(<1.5萬行程式碼)

Webpack —— 大到企業級規模的專案。

Rollup —— NPM 包。

讓我們趕緊試下 Parcel 吧!


安裝非常簡單

npm install parcel-bundler --save-dev
複製程式碼

我們在本地安裝了 parcel-bundler npm package。現在我們需要初始化一個 Node 專案。

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

接下來,建立 index.htmlindex.js 檔案。

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

index.js 連結到 index.html

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

最後新增 parcel 指令碼到 package.json

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

這就是所有的配置 —— 驚人的節省時間吧!

接下來,啟動我們的伺服器。

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

立竿見影!注意構建時間。

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

15 ms?! 哇,真是太快了!

新增一些 HMR 會怎麼樣呢?

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

也感覺非常快。


SCSS

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

我們所需要的只是 node-sass 包,讓我們開始吧!

npm i node-sass && touch styles.scss
複製程式碼

接下來,新增一些樣式並且將 styles.scss 引入到 index.js

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具


生產環境構建

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

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

執行我們的 build 指令碼。

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

看,Parcel 讓我們的生活變得多麼輕鬆?

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

你也可以像這樣指定一個特定的構建路徑:

parcel build index.js -d build/output
複製程式碼

React

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

配置 React 也相當簡單, 我們所需要做的只是安裝 React 依賴並配置 .babelrc

npm install --save react react-dom babel-preset-env babel-preset-react && touch .babelrc
複製程式碼

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

那麼!!!就讓我們使出殺手鐗吧!繼續往下看之前,你自己可以嘗試寫一個初始的 react 元件。

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具


Vue

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

同樣,這是個 Vue 的例子

首先安裝 vueparcel-plugin-vue —— 後者用於支援 .vue 元件。

$ npm i --save vue parcel-plugin-vue
複製程式碼

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

首先建立一個 vue 目錄,並建立 index.jsapp.vue

$ npm i --save vue parcel-plugin-vue
複製程式碼
$ mkdir vue && cd vue && touch index.js app.vue
複製程式碼

現在將 index.js 掛載到 index.html

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

最後,讓我們例項化 vue,並寫第一個 vue 元件!

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

瞧!我們安裝了 Vue,並支援 .vue 檔案


TypeScript

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

這部分非常容易。只需安裝 TypeScript,讓我們開始吧!

npm i --save typescript
複製程式碼

建立一個 index.ts 檔案,並將它插入到 index.html

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

[譯]關於 Parcel 你所需要知道的一切:快速的 Web 應用打包工具

準備好了就去做吧!

Github原始碼


如果你認為這篇文章有用,請給我一些鼓勵,並讓更多的人看到它!

可以關注我的 twitter 瞭解更多!

感謝閱讀! ❤


掘金翻譯計劃 是一個翻譯優質網際網路技術文章的社群,文章來源為 掘金 上的英文分享文章。內容覆蓋 AndroidiOS前端後端區塊鏈產品設計人工智慧等領域,想要檢視更多優質譯文請持續關注 掘金翻譯計劃官方微博知乎專欄

相關文章