自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

由于 React 19 兼容性問題,Create React App 正式棄用

開發(fā) 前端
因?yàn)?CRA 默認(rèn)安裝 React 的最新可用版本,這也就意味著在 React 19 發(fā)布后它會(huì)安裝 React 19。但是 CRA 的默認(rèn)模板包括 React Testing Library v13,它需要 React 18,而不是 React 19。

Hello,大家好,我是 Sunday。

前段時(shí)間 React 19 正式發(fā)布 帶來了一系列的新功能。這些新功能大家用起來很爽,但是也帶來了一些新的生態(tài)問題。其中比較關(guān)鍵的就是 create-react-app(簡(jiǎn)稱 CRA) 不能用啦...

因?yàn)?CRA 默認(rèn)安裝 React 的最新可用版本,這也就意味著在 React 19 發(fā)布后它會(huì)安裝 React 19。但是 CRA 的默認(rèn)模板包括 React Testing Library v13,它需要 React 18,而不是 React 19。

當(dāng) npm 檢測(cè)到這種不匹配時(shí),它會(huì)拋出一個(gè)錯(cuò)誤,導(dǎo)致項(xiàng)目無法正確設(shè)置。

針對(duì)這個(gè)問題,Redux 的作者 Mark Erikson 在最近的 GitHub 問題中詳細(xì)說明了這種不兼容的問題(https://github.com/facebook/create-react-app/issues/17004):

圖片圖片

雖然基于此,Mark Erikson 提供了 臨時(shí)解決方案,但是這并不能解決長(zhǎng)期的問題:

圖片圖片

因此,我們就得出了一個(gè)結(jié)論 CRA 已經(jīng)過時(shí)了!

CRA 已經(jīng)過時(shí)了

然后 CRA 已經(jīng)很多年沒有人進(jìn)行維護(hù)了

圖片圖片

但是,從 npm 的下載統(tǒng)計(jì)中,依然可以看出它依然是 React 開發(fā)者的常用工具

圖片圖片

同時(shí),在國(guó)內(nèi)的很多教程中,也都是使用 CRA 進(jìn)行項(xiàng)目構(gòu)建的。

所以,這樣的問題,就必須要提供對(duì)應(yīng)的 解決方案。

而 React 官方團(tuán)隊(duì)也給出了對(duì)應(yīng)的解決方案,那就是 棄用...

截圖來自 github create-react-app 倉(cāng)庫(kù) README截圖來自 github create-react-app 倉(cāng)庫(kù) README

截圖來自 github create-react-app 倉(cāng)庫(kù) README

而作為替代,目前更推薦大家使用 vite 來創(chuàng)建 React 項(xiàng)目。

基于 Vite 的遷移方案

  1. 卸載 CRA 依賴
npm uninstall react-scripts
npm install vite @vitejs/plugin-react --save-dev
  1. 調(diào)整項(xiàng)目結(jié)構(gòu)

將 index.html 移至項(xiàng)目根目錄,并更新腳本引用為 ESM 格式:

<script type="module" src="/src/main.jsx"></script>

將 .js 文件擴(kuò)展名改為 .jsx(如 App.js → App.jsx)。

  1. 配置 Vite

創(chuàng)建 vite.config.js 文件:

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

export default defineConfig({
  plugins: [react()],
});
  1. 更新環(huán)境變量

環(huán)境變量前綴需從 REACT_APP_ 改為 VITE_(如 VITE_API_KEY=123)。

  1. 運(yùn)行與調(diào)試

修改 package.json 腳本命令:

"scripts": {
  "dev": "vite",
  "build": "vite build",
  "preview": "vite preview"
}

責(zé)任編輯:武曉燕 來源: 程序員Sunday
相關(guān)推薦

2025-02-17 05:00:00

工具項(xiàng)目Cursor

2009-06-04 20:31:05

Eclipse和CDT

2023-02-02 08:41:14

React團(tuán)隊(duì)Vite

2024-12-16 08:40:51

2010-09-15 09:21:11

IEirefoxJavascript

2011-04-12 16:51:29

Javascript兼容性

2010-11-26 14:21:49

Office 套件

2010-11-30 15:18:32

Office

2024-12-06 11:22:27

2010-09-15 11:26:05

IE火狐CSS兼容性

2010-08-23 09:23:48

IEFirefox兼容性

2010-08-20 14:27:23

IE火狐CSS

2009-01-20 19:36:48

服務(wù)器虛擬化VMware

2010-08-18 09:24:09

IE6兼容性

2010-08-17 14:51:05

IE8兼容性

2009-06-11 14:33:16

Windows 7微軟操作系統(tǒng)

2010-10-09 12:58:59

JS腳本兼容

2010-09-15 10:39:27

IE8文件兼容性

2009-10-26 08:46:06

Windows 7軟件兼容性

2010-09-15 10:14:19

IE7IE8兼容CSS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)