该npm run eject
命令做什么?我确实了解其他命令的功能,例如启动,构建,测试。但是不知道弹出。
此“反应脚本弹出”命令有什么作用?
create-react-app封装了它在内部使用的所有npm模块,因此您的package.json将非常干净和简单,而您不必担心它。
但是,如果您想开始做更复杂的事情,并安装可能与在后台使用的create-react-app模块交互的模块,则这些新模块需要知道可用的内容,而不是可用的,这意味着您需要进行create-react -app取消摘要。
从本质上讲,这就是react-scripts eject
作用。它将停止隐藏引擎盖下已安装的内容,而是将这些内容弹出到项目的package.json中,以供所有人查看。
Note: this is a one-way operation. Once you
eject
, you can’t go back!If you aren’t satisfied with the build tool and configuration choices, you can
eject
at any time. This command will remove the single build dependency from your project.Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except
eject
will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.You don’t have to ever use
eject
. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.link to documentation
Alternatives to Ejecting
Ejecting lets you customize anything, but from that point on you have to maintain the configuration and scripts yourself. This can be daunting if you have many similar projects. In such cases instead of ejecting we recommend to fork
react-scripts
and any other packages you need. This article dives into how to do it in depth. You can find more discussion in this issue.