Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[MOPCON 2020] vite: Make web dev fast again

Kuro Hsu
October 25, 2020

[MOPCON 2020] vite: Make web dev fast again

vite 是一套網站開發的構建工具,它由 Vue.js 的作者 Evan 所開發。
vite 在法文的意思是「快」,如同其字面上的含義,作者的目標是打造一套如閃電般的快速開發環境。

在本場議程中,除了為各位介紹 vite 帶來的特性外,也示範透過 vite 來啟動一個全新的 Vue.js 3.0 專案,簡單說明 vite 可以為我們做到什麼、vite 運作的原理,以及 vite 的部分原始碼。 最後再橫向對比 vite 與主流網站建構工具的差異。

Kuro Hsu

October 25, 2020
Tweet

More Decks by Kuro Hsu

Other Decks in Technology

Transcript

  1. ⼤綱 • vite 是什麼 ? 解決了什麼問題 • 理解 vite 運作原理

    • 剖析 vite 部分原始碼 • 與現⾏主流⼯具的差異對比
  2. vite 是什麼 • vite 發⾳ / vit / ,是法語中「快速」的意思 •

    提供開發者⼀個快速啟動、即時更新的
 「開發⼯具」 • 安裝即使⽤,預設無設定檔 • 加速你的開發體驗,不加速你的應⽤效能 ⚡
  3. vite 作者 • Evan You • 同樣是 Vue.js 的作者 •

    https://github.com/vitejs/vite •v1.0.0-rc.6
  4. ⚡ vite serve ⚡ 發送請求 回應請求 推送更新 ⚡ vite serve

    ⚡ 不編譯直接啟動 即時編譯 (需要的部分) Static web server
  5. • Native ES Module • koa ( https://koajs.com/ ) •

    chokidar ( https://github.com/paulmillr/chokidar ) • esbuild ( https://github.com/evanw/esbuild ) • rollup.js ( https://rollupjs.org ) • @vue/compiler-sfc ( optional, 對 vue SFC 的⽀援 )
  6. • 開發階段 - dev serve • koa static web server

    (dev-server) • static-files path rewrite • HMR • 打包建置 - build • 使⽤ rollup 打包 • 相依模組預先快取 - optimize
  7. client 端程式碼, 主要是 socket 與 HMR 相關 打包相關 預先編譯與快取 dev-server

    相關, 含各種 Plugins esbuild 相關 定義 HMR interface vite.config.js 設定檔定義相關
  8. • vite 解決什麼問題? • vite 只能⽤在 vue 上⾯嗎? • Vue

    CLI / webpack 會被 vite 取代嗎? • vite 可以⽤在正式專案上嗎? Recap