这个“反应脚本弹出”命令有什么作用?

新手上路,请多包涵

npm run eject 命令有什么作用?我确实了解其他命令的作用,例如启动、构建、测试。但不知道弹出。

原文由 Ishan Patel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 660
2 个回答

create-react-app 封装了它在内部使用的所有 npm 模块,因此您的 package.json 将非常干净和简单,您不必担心它。

但是,如果您想开始做更复杂的事情并安装可能与模块交互的模块 create-react-app 在后台使用,这些新模块需要知道什么是可用的,什么是不可用的,这意味着您需要有 create-react -app 取消抽象它们。

从本质上讲,这就是 react-scripts eject 所做的。它将停止隐藏它在引擎盖下安装的内容,而是将这些内容弹出到项目的 package.json 中供所有人查看。

原文由 casieber 发布,翻译遵循 CC BY-SA 3.0 许可协议

npm run eject

注意:这是一种单向操作。一旦你 eject ,你就不能回去了!

如果您对构建工具和配置选择不满意,您可以随时 eject 。此命令将从您的项目中删除单个构建依赖项。

相反,它会将所有配置文件和传递依赖项(Webpack、Babel、ESLint 等)直接复制到您的项目中,以便您可以完全控制它们。除了 eject 之外的所有命令仍然有效,但它们将指向复制的脚本,因此您可以调整它们。在这一点上,你是靠自己的。

您不必使用 eject 。精选的功能集适用于中小型部署,您不应该觉得必须使用此功能。但是我们知道,如果您在准备好使用它时不能对其进行自定义,那么该工具将毫无用处。

文档链接


弹出的替代方法

弹出 允许您自定义任何内容,但从那时起您必须自己维护配置和脚本。如果您有许多类似的项目,这可能会让人望而生畏。在这种情况下,我们建议 fork react-scripts 和您需要的任何其他包,而不是弹出。 本文 将深入探讨如何做到这一点。您可以在 本期中找到更多讨论。

原文由 Sergii 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题