create-react-app为什么没有对js或者ts进行热更新?

assassin_cike
  • 1.3k

用cra@3 创建的项目,发现更新css文件是页面不会刷新,只是局部更新了样式,但是更新tsx,或者jsx文件,页面就刷新了。cra这么做的目的是什么?umi对js文件的更改是不会刷新页面的。

回复
阅读 2.5k
2 个回答

页面应该没有刷新吧。版本 3.x 我没用过,但是印象中之前版本是不刷新的,这个可以在 devtools 里面验证,或者在 nodejs 控制台的服务器输出验证。

可能有种刷新的错觉是页面恢复到了初始状态,这应该是 state 变更引起的吧。umi 默认使用了 dva,页面没有局部状态,所以页面组件的卸载和重新创建并不会印象 dva 里面的状态,也就是组件变更之后状态依然保持住了。

用cra创建了两个项目,修改tsx jsx文件,页面都会刷新,就是chrome的tab页会转起来,我没有做code spliting,我截图在下面了。

image.png

你知道吗?

宣传栏