Als React-Entwickler sind wir immer auf der Suche nach Möglichkeiten, unsere Entwicklungserfahrung und Anwendungsleistung zu verbessern. Ein wichtiges Upgrade, das Sie in Betracht ziehen könnten, ist die Migration von Create React App (CRA) zu Vite. Vite bietet schnellere Bauzeiten, einen schnelleren Austausch von Hot-Modulen (HMR) und eine optimierte Entwicklungserfahrung. In diesem umfassenden Leitfaden führen wir Sie durch den Prozess der Migration Ihres CRA-Projekts zu Vite, einschließlich der Handhabung von Proxy-Servern und der Aktivierung der Gzip-Komprimierung.
Bevor wir uns mit dem Migrationsprozess befassen, besprechen wir kurz, warum Sie möglicherweise von CRA zu Vite wechseln möchten:
Bevor Sie mit dem Migrationsprozess beginnen, stellen Sie sicher, dass Sie Folgendes haben:
Erstellen wir zunächst ein neues Vite-Projekt:
npm create vite@latest my-vite-app -- --template react cd my-vite-app
Dieser Befehl erstellt ein neues Vite-Projekt mit React-Vorlage. Wir werden dies als Basis für unsere Migration verwenden.
Jetzt verschieben wir Ihren vorhandenen Quellcode vom CRA-Projekt in das neue Vite-Projekt:
Wir müssen die Datei package.json aktualisieren, um alle Abhängigkeiten Ihres CRA-Projekts einzuschließen:
"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
Erstellen Sie eine vite.config.js-Datei im Stammverzeichnis Ihres Projekts:
import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' export default defineConfig({ plugins: [react()], resolve: { alias: { '@': '/src', }, }, server: { port: 3000, }, })
Diese Konfiguration richtet das React-Plugin ein, definiert einen Alias für das src-Verzeichnis und setzt den Entwicklungsserver-Port auf 3000 (entspricht der CRA-Standardeinstellung).
Vite verwendet ES-Module, daher müssen Sie möglicherweise einige Ihrer Importanweisungen aktualisieren:
Vite behandelt Umgebungsvariablen anders als CRA:
Wenn Sie Jest mit CRA verwenden, müssen Sie zu Vitest wechseln, das besser in Vite integriert ist:
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', }, })
Wenn Ihr CRA-Projekt eine Proxy-Konfiguration verwendet, müssen Sie diese in Vite einrichten:
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!
Das obige ist der detaillierte Inhalt vonMigration von Create React App zu Vite: Eine Schritt-für-Schritt-Anleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!