Sebagai pembangun React, kami sentiasa mencari cara untuk meningkatkan pengalaman pembangunan dan prestasi aplikasi kami. Satu peningkatan penting yang mungkin anda pertimbangkan ialah berhijrah daripada Create React App (CRA) ke Vite. Vite menawarkan masa binaan yang lebih pantas, penggantian modul panas (HMR) yang lebih cepat dan pengalaman pembangunan yang lebih diperkemas. Dalam panduan komprehensif ini, kami akan melalui proses pemindahan projek CRA anda ke Vite, termasuk mengendalikan pelayan proksi dan mendayakan pemampatan Gzip.
Sebelum kita menyelami proses penghijrahan, mari kita bincangkan secara ringkas sebab anda mungkin ingin bertukar daripada CRA kepada Vite:
Sebelum memulakan proses migrasi, pastikan anda mempunyai:
Mula-mula, mari buat projek Vite baharu:
npm create vite@latest my-vite-app -- --template react cd my-vite-app
Arahan ini mencipta projek Vite baharu dengan templat React. Kami akan menggunakan ini sebagai asas untuk penghijrahan kami.
Sekarang, mari alihkan kod sumber sedia ada anda daripada projek CRA ke projek Vite baharu:
Kami perlu mengemas kini fail package.json untuk memasukkan semua kebergantungan daripada projek CRA anda:
"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
Buat fail vite.config.js dalam akar projek anda:
import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' export default defineConfig({ plugins: [react()], resolve: { alias: { '@': '/src', }, }, server: { port: 3000, }, })
Konfigurasi ini menyediakan pemalam React, mentakrifkan alias untuk direktori src dan menetapkan port pelayan pembangunan kepada 3000 (padanan lalai CRA).
Vite menggunakan modul ES, jadi anda mungkin perlu mengemas kini beberapa penyata import anda:
Vite mengendalikan pembolehubah persekitaran secara berbeza daripada CRA:
Jika anda menggunakan Jest dengan CRA, anda perlu bertukar kepada Vitest, yang lebih disepadukan dengan Vite:
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', }, })
Jika projek CRA anda menggunakan konfigurasi proksi, anda perlu menyediakannya dalam 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!
Atas ialah kandungan terperinci Berhijrah daripada Apl Buat React ke Vite: Panduan Langkah demi Langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!