create-react-app是怎么实现react的热更新的
create-react-app是react维护的官方教授级(现在已经停止维护),使用create-react-app创建出来的react项目,在开发环境下,支持热更新。
create-react-app 使用的webpack进行打包构建,使用了webpack自带的热更新的支持。但是webpack不支持react框架的热更新,那就需要再额外配置。额外的配置分两步骤:
create-react-app维护了一套react-scripts脚本,当运行npm run start
时,其实执行的是react-scripts
中的脚本,最终用于webpack的配置文件是 packages/react-scripts/config/webpack.config.js
。在webpack.config.js 中,通过react-refresh
实现了react的热更新。
react-refresh
react-refresh
是react官方开发的依赖,是一个专为 React 设计的轻量级热更新解决方案,取代了之前的 react-hot-loader
。react-refresh
的主要特点是能够保留组件的状态(state)和上下文(context),同时只更新发生变化的部分。