ホームページ >ウェブフロントエンド >jsチュートリアル >Create React App から Vite への移行: ステップバイステップ ガイド
React 開発者として、私たちは開発エクスペリエンスとアプリケーションのパフォーマンスを向上させる方法を常に模索しています。検討すべき重要なアップグレードの 1 つは、Create React App (CRA) から Vite への移行です。 Vite は、ビルド時間の短縮、ホット モジュール交換 (HMR) の迅速化、およびより合理化された開発エクスペリエンスを提供します。この包括的なガイドでは、プロキシ サーバーの処理や Gzip 圧縮の有効化など、CRA プロジェクトを Vite に移行するプロセスを順を追って説明します。
移行プロセスに入る前に、CRA から Vite に切り替える理由について簡単に説明します。
移行プロセスを開始する前に、次のことを確認してください。
まず、新しい Vite プロジェクトを作成しましょう:
npm create vite@latest my-vite-app -- --template react cd my-vite-app
このコマンドは、React テンプレートを使用して新しい Vite プロジェクトを作成します。これを移行のベースとして使用します。
次に、既存のソース コードを CRA プロジェクトから新しい Vite プロジェクトに移動しましょう:
CRA プロジェクトからのすべての依存関係を含めるために package.json ファイルを更新する必要があります:
"scripts": { "dev": "vite", "build": "vite build", "serve": "vite preview", "test": "vitest", "lint": "eslint src --ext js,jsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }
npm install
プロジェクトのルートに vite.config.js ファイルを作成します。
import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' export default defineConfig({ plugins: [react()], resolve: { alias: { '@': '/src', }, }, server: { port: 3000, }, })
この構成では、React プラグインをセットアップし、src ディレクトリのエイリアスを定義し、開発サーバーのポートを 3000 (CRA のデフォルトと一致) に設定します。
Vite は ES モジュールを使用するため、インポート ステートメントの一部を更新する必要がある場合があります:
Vite は CRA とは異なる方法で環境変数を処理します。
CRA で Jest を使用している場合は、Vite との統合がより優れている Vitest に切り替える必要があります。
npm install -D vitest jsdom @testing-library/react @testing-library/jest-dom
import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' export default defineConfig({ plugins: [react()], test: { globals: true, environment: 'jsdom', setupFiles: './src/setupTests.js', }, })
CRA プロジェクトでプロキシ設定を使用している場合は、Vite で設定する必要があります:
npm install -D http-proxy
import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import httpProxy from 'http-proxy' const proxy = httpProxy.createProxyServer() export default defineConfig({ plugins: [react()], server: { proxy: { '/api': { target: 'http://localhost:5000', changeOrigin: true, configure: (proxy, options) => { proxy.on('error', (err, req, res) => { console.log('proxy error', err) }) proxy.on('proxyReq', (proxyReq, req, res) => { console.log('Sending Request to the Target:', req.method, req.url) }) proxy.on('proxyRes', (proxyRes, req, res) => { console.log('Received Response from the Target:', proxyRes.statusCode, req.url) }) }, }, }, }, })
This configuration sets up a proxy for /api requests to http://localhost:5000. Adjust the target URL as needed for your backend.
To enable Gzip compression in Vite:
npm install -D vite-plugin-compression
import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import viteCompression from 'vite-plugin-compression' export default defineConfig({ plugins: [ react(), viteCompression({ verbose: true, disable: false, threshold: 10240, algorithm: 'gzip', ext: '.gz', }), ], // ... other configurations })
This setup will generate Gzip-compressed versions of your assets during the build process.
Remove any CRA-specific files and folders:
Update your README.md to reflect the new Vite setup and commands.
Update your CI/CD pipelines to use the new Vite commands (npm run dev, npm run build, etc.).
Migrating from Create React App to Vite can significantly improve your development experience and application performance. While the process involves several steps, the benefits of faster build times, quicker HMR, and more flexible configuration make it a worthwhile endeavor.
Remember to thoroughly test your application after migration to ensure everything works as expected. You may need to make additional adjustments based on your specific project structure and dependencies.
Have you successfully migrated your project from CRA to Vite? Share your experiences and any additional tips in the comments below!
Happy coding!
以上がCreate React App から Vite への移行: ステップバイステップ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。