Closed27
Viteについて学ぶ

Vite
大昔に少しドキュメントを眺めた気がする。
SPAするときに楽ちん、みたいな認識。
esBuildとRollup使ってる、くらいしか知らない。


Vite は、ブラウザでのネイティブ ES モジュールの利用可能性や、ネイティブ言語にコンパイルされた JavaScript ツールの台頭など、エコシステムの新たな進歩を活用して、これらの問題に対処することを目指しています。

バンドラで実現していた機能をブラウザに引き継ぐ、というのが肝っぽい気がする
- esmを使うことで、毎回全てのコードをバンドルする必要がない
- 毎回全てのコードをバンドルし直すと、コードベースの大きさに速度が依存する
- HTTP ヘッダーを活用してページ全体のリロードを高速化する

Rolldownが登場すると、esBuildとRollupの両方が置き換わる

Getting Started

Features

bare module imports
ブラウザではimportのパスがライブラリ名、みたいな形に対応してないらしい

typescript
- 型チェックは行わず、トランスパイルのみ行う
- IDEやビルドプロセスで型チェックされる前提のため
- tsconfigを適切に設定する必要がありそう

JSX/TSX
- サポートされてる、jsx->jsはesbuildがトランスパイルしてくれる

CSS
- cssやcss modulesも対応
- pre-processor
- viteはesnextをターゲットにしてるので、ネストなんかは素のCSSを使った方がいいとのこと
- Lightning CSSも対応中

静的アセット
- パブリックURLが返される
- (cssにもあったが)パスに特別なクエリをつけられる

globインポート
-
import.meta.glob
という特別な関数を使うと、複数モジュールのインポートをglobで記述できる - デフォルトはダイナミックインポートだけど設定できる
- これはVite独自機能

web assembly
- インポートできちゃうらしい

あとはWeb workerとかCSPとか、ビルド最適化の話

SSR

Backend Integration

哲学
このスクラップは2024/09/14にクローズされました