基于 Rsbuild 构建的渐进式 React Web 框架,内置路由、数据获取、SSR 等能力。
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
将 react-app-rewired 安装为开发依赖
npm install react-app-rewired --save-dev - 2
在项目根目录创建 config-overrides.js 并导出 override 函数
- 3
将 npm 脚本中的 start、build 和 test 改为使用 react-app-rewired
- 4
启动开发服务器
npm start
使用前须知
- 该项目主要由社区轻度维护,不提供官方支持。
- 它面向 Create React App 2.x 和 Webpack 4;更旧的 CRA 版本需要使用锁定的 1.6.2 版本。
- 自定义配置意味着你需要自行维护,并可能破坏 CRA 提供的保障。
标签
常见问题
- 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 数据每日更新。
相关项目
基于 Rust 的快速 Web 打包工具,提供兼容 webpack 的 API,可直接替换 webpack。
一个 webpack 插件和命令行工具,以可缩放的交互式树状图展示打包产物中各模块的体积构成。
轻量的 React DOM 测试工具,按用户实际使用的方式查询和操作组件。
可自托管的网页文件共享工具,支持多设备互传、多用户管理、断点续传和扫码访问共享目录。
一个将 JavaScript/TypeScript 源码组织为可复用组件的构建系统与工作区工具,覆盖开发到 CI 发布。