0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

技術ブログ|React開発の革新!Create React AppからViteで得た快適さ

Last updated at Posted at 2025-06-13

note.:社員インタビュー (4).png

はじめに

React開発者がCreateReactAppを使っていたところ、Viteに変えて快適だった話です。

其の一 開発サーバ起動/ビルドが速い

まずこれに尽きます。実際に測ってみると↓
開発サーバ起動:
CRA 1分10秒
Vite 4秒
画像1.png
画像2.png

ビルド
CRA 2分25秒
Vite: 8秒

とんでもない差が出てしまいました。
実際開発をしていて、CRAの場合一度開発サーバを落として他の作業をするのが億劫なまであります。

其の二 設定の変更がしやすい

Viteの場合、プロジェクトのルートに’vite.config.js’というファイルが配置され、それを編集することで設定の変更が行えます。

一方CRAですが、設定変更のたびにnpm run ejectを行う必要があり、複雑です。

画像3.png

vite.config.jsの一例。このようにDockerとの連携に必要な設定も行えます。

其の三 フレームワークの自由性

CRAはその名のとおりReactにのみ使用ができますが、
Viteを使用していれば、Vue.jsなど他のフレームワークもサポートしているため、同じ感覚でプロジェクトの進め方が可能となります。

画像4.png

其の四 とどめ

CRAはもはや公式で推奨されていない
メンテナンスが止まっていることが原因のようです。
サポートがされていないということは今後も改善される余地がなく、またViteの存在に食われてしまうということになるかと思いますので、あらゆる観点からVite推しになることでしょう。

まとめ

開発サーバをCRAで賄うとストレスがすごい
設定しやすく、柔軟で他FWでも使用可
いわゆるオワコン(サポートが終了している)

開発サーバ/ビルド速度の点のみでも十二分に採用するに値すると思いますので、CRAからの移行も検討してみる価値はあると思います。

ふろく(CRAで動的にビルドしたファイルを読み込む)

ReactをViewファイルで読み込みながら開発する際、ビルドする度にmain.[ハッシュ値].jsやmain.[ハッシュ値].cssといった形でファイル名を指定し読み込まなければならず、煩雑でした。(npmのビルトインサーバで開発していたが、ビルド後の挙動も確認したかったため)

画像5.png

調べてみた

どうやら/build/asset-manifest.jsonによってファイル名のハッシュ値が変わっていくようです。
以下を見てみると、files[main.css], files[main.js]にハッシュ値を含んだファイル名が書かれています。

画像6.png

つまり、asset-manifest.jsonの値を参照してしまえば動的に変更できるのでは...?

$asset_manifest_path = WWW_ROOT . ’xxx/build/asset-manifest.json’;
$manifest = json_decode(file_get_contents($asset_manifest_path), true);
dumpしてみると...取れています!

画像7.png

あとは連想配列にアクセスして値をlinkタグ,scriptタグに入れ込んであげるだけです。

画像8.png

最後に

正直なところベストプラクティスであるのはViteへ鞍替えすることかと思います(Laravel+Viteで動的指定がデフォルトでサポートされている)が、CRAプロジェクトでこういうことが起きているということがわかって面白かったです。

安心安全のホワイト高還元SESに転職を考えている方へ

新しい挑戦に踏み出すことは、人生において重要な一歩です。
転職活動は自分自身を知り、成長する貴重な機会でもあり、夢や成長を追求するためには必要な要素の一つになるかと思います。
どんな選択をされるにせよ、その決断があなたに取って素晴らしい未来を切り開くことを願っています!
グラディートと一緒に誇れるエンジニアを目指しましょう!

■『株式会社グラディート』では受託開発・SES・ブランディングデザイン・事業コンサルティングなどを事業として行う都内のIT企業です。現在、不遇な待遇で困っているエンジニアさんは、ぜひ一度グラディートに相談してみてね!(年収査定・SESへの転職相談も承っております!)

株式会社グラディート採用情報はこちら▼
https://en-gage.net/gradito/

株式会社グラディート公式サイトはこちら▼
https://www.gradito.co.jp/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?