扩展: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.jswebpack.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 自动更新支持。

相关推荐
Richown7 小时前
区块链预言机:Chainlink与去中心化数据获取
区块链·react
打小就很皮...10 小时前
基于 Python + LangChain + React 的 AI 流式对话与历史存储实战(拓展图片上传)
langchain·react·sse·图片解析
打小就很皮...12 小时前
基于 Python + LangChain + React 的 AI 流式对话与历史存储实战
人工智能·langchain·flask·react·sse
前端若水17 小时前
自定义消息组件:图片、文件附件与图表
前端·人工智能·react.js·typescript
放下华子我只抽RuiKe517 小时前
React 从入门到生产(七):性能优化实战
前端·javascript·人工智能·react.js·性能优化·前端框架·github
李燚18 小时前
ReAct 循环的 50 行 Go 实现,逐行拆解
javascript·人工智能·react.js·golang·aigc·agent
Richown18 小时前
后端架构:事件驱动架构设计与实现
区块链·react
光影少年18 小时前
react自定义Hook 写法、规则(只能在组件/自定义Hook内调用)
前端·react.js·掘金·金石计划
爱编程的小新☆19 小时前
JAVA实现Manus智能体
java·react·cot·智能体·spring ai·manus·agent loop
暗不需求19 小时前
玩转 React Hooks:从基础到实战,逐行解析带你彻底掌握
前端·react.js·面试