扩展:React 项目执行 yarn eject 后的 scripts 目录结构详解

扩展:React 项目执行 yarn eject 后的 scripts 目录结构详解

  • [什么是 yarn eject?](#什么是 yarn eject?)
  • [scripts 目录结构与说明](#scripts 目录结构与说明)

什么是 yarn eject?

yarn eject 是 Create React App(简称 CRA)提供的一条命令,用于将项目从"封装模式"转为"完全可配置模式"。

执行后,CRA 默认隐藏的构建配置(如 Webpack、Babel、ESLint 等)会被暴露到项目中。

scripts 目录结构与说明

执行 yarn eject 后,create-react-app 会将 react-scripts 中的脚本抽出到本地的 scripts 目录中。这个目录包含 React 项目运行时的核心脚本,便于开发者进一步自定义开发、构建、测试流程。

各脚本说明

  • build.js

    • 用于打包生产环境代码。
    • 调用 Webpack,使用 config/webpack.config.js 生成 build/ 目录。
    • 包括环境变量设置、构建日志输出、性能提示等。
  • start.js

    • 用于启动开发服务器。
    • 启用 webpack-dev-server,支持热更新。
    • 加载配置:webpackDevServer.config.js、webpack.config.js。
  • test.js

    • 启动测试环境,运行基于 Jest 的测试脚本。
    • 支持 watch 模式、生成覆盖率报告等。
    • 自动加载 Jest 配置路径 config/jest/。

说明

在你执行 yarn eject 之后,eject.js 脚本不会被保留在项目中,因为它的职责就是将隐藏的配置暴露出来一次,执行完就"完成使命"了。它仍然存在于 react-scripts 的源码中(未 eject 的项目内部),但在 eject 后不会被复制到本地项目中。

  • eject.js 不会出现在项目中,它仅在未弹出前作为 react-scripts eject 的执行脚本。
  • 脚本中大量使用 Node.js API 和 cross-spawn 等工具处理进程管理和环境变量。
  • 脚本执行时默认读取 package.json 中的配置信息以及 config 文件夹的内容。

⚠️ 注意:eject 是不可逆的操作,所有脚本暴露后需由开发者手动维护,失去 CRA 自动更新支持。

相关推荐
落魄大学生之流水线上谋生计6 小时前
Remotion:用 React 写视频,让代码成为剪辑师
react.js
今年下半年11 小时前
【VUE3】移动端:使用腾讯地图显示区域统计与放大显示资产点位
javascript·前端框架·vue·地图
FungLeo13 小时前
成为全栈·Next.js 网站前台篇·数据获取与缓存:60 秒再验证背后到底发生了什么
react·isr·next.js·成为全栈·react cache·opennext
Amos_Web20 小时前
Rspack 源码解析(十五):Loader Runner 与 JS Loader 桥接
前端·rust·前端框架
光影少年1 天前
Fabric渲染流程
前端·react native·react.js
怕浪猫1 天前
DeepSeek Harness 系列图解
面试·前端框架·node.js
光影少年1 天前
RN启动流程(bundle加载→Bridge初始化→首屏渲染)
前端·react native·react.js
超人气王1 天前
Agent 提示词工程:从「写 Prompt」到「设计行为控制系统」
前端·前端框架
卡布鲁7 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
liangshanbo12157 天前
React 性能瓶颈定位面试题——原理深挖版
react·performance·profiler