Repolode
timarney

timarney/react-app-rewired

无需 eject 即可定制 Create React App 的 webpack、Jest 和开发服务器配置的辅助工具。

Star
9,836
Fork
418
未关闭 Issue
25
最近提交
上个月

这是什么?

react-app-rewired 允许在不执行 eject、也不 fork react-scripts 的前提下,修改 Create React App 项目的 webpack 配置。在项目根目录放置一个 config-overrides.js,导出一个接收默认 webpack 配置的函数,返回修改后的结果即可,添加插件或 loader 都在这个文件里完成。

除 webpack 之外,同一文件还可以定制 Jest 配置、webpack 开发服务器配置以及 CRA 使用的路径。Jest 也可以通过 package.json 中的 jest 字段扩展,测试用的 Babel 插件可写在 babel 字段或 .babelrc 中。通过命令行参数还能指定 react-scripts-ts 等自定义 scripts 版本。

使用该工具意味着放弃 Create React App 通常提供的支持保证,修改后的配置需要自行维护。项目目前由社区维护力度较弱,并列出了 customize-cra、Rescripts、craco 等替代方案。

核心功能

  • 01通过 config-overrides.js 中的函数扩展默认的 CRA webpack 配置。
  • 02可定制 Jest 配置,包括测试所用的 Babel 设置。
  • 03可覆盖 webpack 开发服务器配置,例如 HTTPS 证书。
  • 04通过命令行参数支持自定义 react-scripts 包。
  • 05支持以目录形式组织配置,或指定自定义配置文件路径。

适用场景

  • 在不 eject 的情况下为 Create React App 项目添加自定义 webpack 插件或 loader。
  • 为 CRA 开发服务器配置 HTTPS 证书。
  • 在 CRA 应用中调整 Jest 设置或测试用的 Babel 插件。

快速上手

  1. 1

    将 react-app-rewired 安装为开发依赖

    npm install react-app-rewired --save-dev
  2. 2

    在项目根目录创建 config-overrides.js 并导出 override 函数

  3. 3

    将 npm 脚本中的 start、build 和 test 改为使用 react-app-rewired

  4. 4

    启动开发服务器

    npm start

使用前须知

  • 该项目主要由社区轻度维护,不提供官方支持。
  • 它面向 Create React App 2.x 和 Webpack 4;更旧的 CRA 版本需要使用锁定的 1.6.2 版本。
  • 自定义配置意味着你需要自行维护,并可能破坏 CRA 提供的保障。

标签

#react#webpack#create-react-app#config#jest#build-tool#eject#never

常见问题

react-app-rewired 是什么?
无需 eject 即可定制 Create React App 的 webpack、Jest 和开发服务器配置的辅助工具。 react-app-rewired 允许在不执行 eject、也不 fork react-scripts 的前提下,修改 Create React App 项目的 webpack 配置。在项目根目录放置一个 config-overrides.js,导出一个接收默认 webpack 配置的函数,返回修改后的结果即可,添加插件或 loader 都在这个文件里完成。
react-app-rewired 可以免费使用吗?用的什么许可证?
react-app-rewired 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
react-app-rewired 还在维护吗?
半年内有更新。react-app-rewired 最近一次提交是在 2026年10月3日。
react-app-rewired 适合用来做什么?
在不 eject 的情况下为 Create React App 项目添加自定义 webpack 插件或 loader。 为 CRA 开发服务器配置 HTTPS 证书。 在 CRA 应用中调整 Jest 设置或测试用的 Babel 插件。
react-app-rewired 怎么安装和运行?
将 react-app-rewired 安装为开发依赖: npm install react-app-rewired --save-dev 在项目根目录创建 config-overrides.js 并导出 override 函数 将 npm 脚本中的 start、build 和 test 改为使用 react-app-rewired 启动开发服务器: npm start
在哪里获取 react-app-rewired?
源代码和安装说明在 GitHub 上:https://github.com/timarney/react-app-rewired

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目