自動化無しに生活無し

WEB開発関係を中心に備忘録をまとめています

create-react-app コマンドはもう使えないので、ViteでReactプロジェクトをつくる

  • 作成日時:
  • 最終更新日時:
  • Categories: フロントサイド
  • Tags: react tips
thumbnail
npx create-react-app frontend

このコマンドでreactプロジェクトを作ってきたが、もうcreate-react-app はもう使われなくなったようだ。(2023年春時点から)

そこで、Viteを使ってReactプロジェクトをつくる。

Viteとは?

Viteは、JavaScriptフレームワーク用のビルドツールである。Vite(フランス語で高速の意味)の名の通り、非常に高速。

ESモジュールで必要な部分だけオンデマンドでロードでき、ページのリロードや反映がとても速い。

Viteを使ったReactプロジェクトの作成

npm create vite@latest frontend --template react

このコマンドを実行する、選択肢が表示されるので、

✔ Select a framework: › React
✔ Select a variant: › JavaScript

このように選べば良い。

サーバーを起動するには?

cd frontend
npm install 
npm run dev 

npm run dev コマンドを実行すると、

 ➜  Local:   http://localhost:5173/

ここにサーバーが起動する。

3000番ポートで動かすには?

vite.config.js を以下のように編集をする。

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vite.dev/config/
export default defineConfig({
    plugins: [react()],
          
    server: {
        port: 3000, // 使用するポート番号を指定
    },
})

8000番ポートのサーバーサイドにプロキシするには?

create-react-app では、 package.jsonのproxy設定に、サーバーサイドのIPアドレスとポート番号を指定すれば良かったが、Viteではその設定は無効。

先の項目と同じく、vite.config.js で設定をする。

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vite.dev/config/
export default defineConfig({
    plugins: [react()],

    server: {
        port: 3000, // 使用するポート番号を指定
        proxy: {
            '/api': {
                target: 'http://localhost:8000/',
                changeOrigin: true,
            },
        },

    },
})

これにより、CRAのときと同じように 3000ポートに対して、 /api でリクエストが送られた時、8000ポートへリクエストを送る。

React単体で使うのはもう時代遅れ?

どうやら、今のReactの開発はNext.jsなどのフレームワーク上で動作させるのが主流らしい。

create-react-app はReact公式のプロジェクト生成ツールだ。

とはいえ、もうすでに開発が止まっているところから、そのコミュニティの動向が伺える。

結論

Vue.jsを勉強しているときも感じたが、このJavaScriptの世界はとても流動性が高い。

昨日勉強したことが実は、数年前から非推奨でしたということがよくある。

だからこそ、なるべく新しい情報に触れるよう、日頃から公式のGitHubやドキュメントを読むようにしよう。

参考文献

https://zenn.dev/nekoya/articles/dd0f0e8a2fa35f

スポンサーリンク