npm run eject
命令有什么作用?我确实了解其他命令的作用,例如启动、构建、测试。但不知道弹出。
原文由 Ishan Patel 发布,翻译遵循 CC BY-SA 4.0 许可协议
npm run eject
命令有什么作用?我确实了解其他命令的作用,例如启动、构建、测试。但不知道弹出。
原文由 Ishan Patel 发布,翻译遵循 CC BY-SA 4.0 许可协议
npm run eject
注意:这是一种单向操作。一旦你 eject
,你就不能回去了!
如果您对构建工具和配置选择不满意,您可以随时 eject
。此命令将从您的项目中删除单个构建依赖项。
相反,它会将所有配置文件和传递依赖项(Webpack、Babel、ESLint 等)直接复制到您的项目中,以便您可以完全控制它们。除了 eject
之外的所有命令仍然有效,但它们将指向复制的脚本,因此您可以调整它们。在这一点上,你是靠自己的。
您不必使用 eject
。精选的功能集适用于中小型部署,您不应该觉得必须使用此功能。但是我们知道,如果您在准备好使用它时不能对其进行自定义,那么该工具将毫无用处。
弹出的替代方法
弹出 允许您自定义任何内容,但从那时起您必须自己维护配置和脚本。如果您有许多类似的项目,这可能会让人望而生畏。在这种情况下,我们建议 fork react-scripts
和您需要的任何其他包,而不是弹出。 本文 将深入探讨如何做到这一点。您可以在 本期中找到更多讨论。
原文由 Sergii 发布,翻译遵循 CC BY-SA 4.0 许可协议
5 回答2k 阅读
1 回答2.8k 阅读
2 回答588 阅读✓ 已解决
1 回答1.5k 阅读
1 回答627 阅读
683 阅读
2.7k 阅读
create-react-app 封装了它在内部使用的所有 npm 模块,因此您的 package.json 将非常干净和简单,您不必担心它。
但是,如果您想开始做更复杂的事情并安装可能与模块交互的模块 create-react-app 在后台使用,这些新模块需要知道什么是可用的,什么是不可用的,这意味着您需要有 create-react -app 取消抽象它们。
从本质上讲,这就是
react-scripts eject
所做的。它将停止隐藏它在引擎盖下安装的内容,而是将这些内容弹出到项目的 package.json 中供所有人查看。