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

Vite完全に理解した その1

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for ツノ ツノ
April 30, 2024
270

Vite完全に理解した その1

Avatar for ツノ

ツノ

April 30, 2024

Transcript

  1. ツノ I BtoB SaaSのフロントエンドエンジニr I 銭湯とサウナを愛する208 I 「〇〇完全に理解した」Talkは3回目    

    過去のL" 書籍「プログラマー脳」を完全に理解しi 「世界一流のエンジニアの思考法」を完全に理解しi I コメント拾いつつ発表できるようになりたい 自己紹介
  2. LT内容 本発表のゴール ▪対象‚ u フロントエンド初学‚ u フロントエンド開発ツール(Vite,Webpack)をなんとなく 使っている人(主に私) ▪⁩目h u

    Viteのどこがすごいのかを語れるよう2 u 他のバンドラー(Webpack)と比較を中心2 u 今後予定の「その2」に繋げらるように
  3. Vite 完全に理解した(してない) Viteの登場 ▪Viteとは(公式より)
   ・読み方は「ヴィート」=フランス語で「素早い」   ・現代の Web プロジェクトのために、より速く無駄のな

    い開発体験を提供することを目的としたビルドツールです ▪特4 e 高速な開発サーバ‡ e バンドラーの機能だけではない ▪⁩ Webpackと何が違うのか™ e Webpackは「バンドラー e Viteは「ビルドツール(バンドラー+α)」
  4. Vite 完全に理解した(してない) そもそもフロントエンド開発ツールとはなんなのか? ▪フロントエンド開発ツール=バンドラーと解釈した場合 ・ ▪バンドラーとは ・以下コマンドを実行した時に動いていたりする(例:Webpack)   ・開発時:`npm run

    dev`   ・ビルド時:`npm run build` ▪⁩ Webpackの功績 ・現在も広く使われている ・開発環境が良くなった
   →ただ、開発時は時間がかかったり改善の余地がある Webpack、esbuild、Roleup
  5. Vite 完全に理解した(してない) Viteの特徴は「素早い」 ▪従来のフロントエンド開発ツール( )はs E 開発時、ビルド時も常にバンドルしてい… E `npm run

    dev`→修正の反映ごとにバンドル→時間長い ▪Viteはs E 開発時とビルド時に処理が大きく異な… E `npm run dev`の時はGo製の で事前バンドル
 その他の工夫(例:ブラウザのESM...)を利用
 →高速に!!3 E `npm run build`の時は でバンドルする
 →ビルド時は柔軟に!!! Webpack esbuild Roleup
  6. Vite 完全に理解した(してない) 開発時の特徴 ▪事前バンドルによるバンドルの最小w v jsライブラリ(例:lodash...)は初回のみ読み込e v ソースコー˜ v 右図が公式サイトに載っててわかりやすp

    v Webpackは修正があるたび全部インポーv v ブラウザで読み込まれた場所を動的インポート ▪処理の一部をブラウザ側に委譲す€ v キャッシュを最大限利用
 →変更があるファイルのみ検知して入れ替え
  7. Vite 完全に理解した(してない) ビルド時の特徴 ▪多機能バンドラー を利– k ViteのプラグインはほぼほぼRoleupが提供しているも„ k との相違T k

    設定がシンプn k ビルド後の不要なコードの除去が優れてい‘ k 後発のためESMを主要サポートとする ▪Viteにおける の利用方1 k 後述する`vite.config.js`越しに設定を変更する Roleup Webpack Roleup
  8. Vite 完全に理解した(してない) index.html ▪概X h エントリーポインG h 最初に読み込まれる ▪具体的な役ƒ h

    必要なJavaScript(main.ts)やCSSファイル、その他 のリソースへのリンクを含める
  9. Vite 完全に理解した(してない) vite.config.js ▪概U s Viteの設定をカスタマイズするためのファイル ▪具体的な役E s カスタマイv s

    プラグインの使H s ビルドオプショI s サーバー設„ s webpack.config.jsみたいなイメージ
  10. EOL