首頁 >web前端 >js教程 >從 Create React App 遷移到 Vite:開發人員指南

從 Create React App 遷移到 Vite:開發人員指南

DDD
DDD原創
2024-12-30 21:55:10963瀏覽

Migrating from Create React App to Vite: A Developer

從 Create React App 遷移到 Vite:開發人員指南

嘿,開發者們! ?

最近,我接受了將生產 React 應用程式從 Create React App (CRA) 遷移到 Vite 的挑戰。結果?我們的建造時間從 3 分鐘驟降到僅 20 秒! ?

在本指南中,我將引導您完成整個遷移過程,包括在 JavaScript 檔案中處理 JSX 的重要技巧,這可以節省您數小時的偵錯時間。

?為什麼要切換到Vite?

在深入了解技術細節之前,讓我們看看您可能想要進行此轉換的原因。我們的團隊看到了一些令人印象深刻的改進:

Metric Before (CRA) After (Vite)
Dev Server Startup 30s 2s
Hot Module Replacement 2-3s <100ms
Production Build 3 min 20s
Bundle Size 100% 85%

此外,您還可以獲得這些很棒的功能:

  • ⚡️ 快如閃電的 HMR
  • ?開發過程中不捆綁
  • ?配置更簡單
  • ?更好的錯誤訊息
  • ?原生 TypeScript 支援

?遷移步驟

1. 準備你的項目

首先,建立一個新分支:

git checkout -b feature/migrate-to-vite

2. 更新依賴

移除CRA並加入Vite:

# Remove CRA dependencies
npm uninstall react-scripts @craco/craco

# Install Vite and related dependencies
npm install -D vite @vitejs/plugin-react

3.配置Vite

在專案根目錄建立 vite.config.js:

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

export default defineConfig({
  plugins: [
    react({
      // ? Key configuration for .js files with JSX
      include: "**/*.{jsx,js}",
    }),
  ],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src'),
    },
  },
  server: {
    port: 3000,
    open: true,
  },
  build: {
    outDir: 'build',
    sourcemap: true,
  },
});

重要: include: "**/*.{jsx,js}" 配置至關重要!如果沒有這個,Vite 只會處理 .jsx 檔案中的 JSX。

4.環境變數

Vite 對環境變數的處理方式不同:

  1. 保留您的 .env 檔案
  2. 將變數從 REACT_APP_ 重新命名為 VITE_
  3. 更新參考資料:
// Before (CRA)
process.env.REACT_APP_API_URL

// After (Vite)
import.meta.env.VITE_API_URL

5. 更新套件腳本

替換package.json中的腳本:

{
  "scripts": {
    "start": "vite",
    "build": "vite build",
    "serve": "vite preview",
    "test": "vitest",
    "lint": "eslint src --ext .js,.jsx"
  }
}

6. 移動index.html

  1. 將 public/index.html 移至根目錄
  2. 更新一下:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Your App Name</title>
  </head>
  <body>
    <div>



<h2>
  
  
  ? Common Challenges and Solutions
</h2>

<h3>
  
  
  1. JSX in .js Files
</h3>

<p>This is usually the first hurdle. You have two options:</p>

<h4>
  
  
  Option 1: Configure Vite (Recommended)
</h4>

<p>Add the include option as shown in the config above.</p>

<h4>
  
  
  Option 2: Rename Files
</h4>



<pre class="brush:php;toolbar:false"># Unix/Linux command to rename files
find src -name "*.js" -exec sh -c 'mv "" "${1%.js}.jsx"' _ {} \;

2. 絕對進口

更新 vite.config.js:

resolve: {
  alias: {
    '@components': '/src/components',
    '@assets': '/src/assets',
    '@utils': '/src/utils'
  }
}

3.SVG支持

安裝並設定 vite-plugin-svgr:

npm install -D vite-plugin-svgr
import svgr from 'vite-plugin-svgr';

export default defineConfig({
  plugins: [react(), svgr()],
  // ...
});

✅ 遷移清單

提交之前:

  • [ ] 開發伺服器啟動
  • [ ] 熱模組更換有效
  • [ ] 環境變數可存取
  • [ ] 建造過程成功
  • [ ] 導入路徑正確解析
  • [ ] SVG 與資源載入
  • [ ] CSS 模組可以運作

?結論

雖然從 CRA 遷移到 Vite 可能看起來令人畏懼,但效能的提升使其變得值得。請記住:

  1. 儘早為 .js 檔案設定 JSX 處理
  2. 更新環境變數
  3. 驗證導入路徑
  4. 徹底測試

您的 React 應用程式遷移到 Vite 了嗎?您面臨哪些挑戰?在評論中分享您的經驗!


覺得這有幫助嗎?關注我以獲取更多 React 和 JavaScript 技巧!

我會積極回覆評論和問題。如果您需要任何有關遷移過程的說明,請告訴我!

以上是從 Create React App 遷移到 Vite:開發人員指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:npm 上的 Fastly CLI:現在 JavaScript 觸手可及下一篇:npm 上的 Fastly CLI:現在 JavaScript 觸手可及

相關文章

看更多