表面现象
lint 和 ide都很正常,一运行就出错
主思路
查了资料代码应该没问题,尝试清除 mfsu就恢复正常
详情
有时候在runtime的时候做一些代码编辑,如果遇到致命错误,就容易发生一些奇怪的问题,最常见的就是一些内容找不到,比如 "./antd/es/xxx/style" does not exist in container 。
反复检查代码,运行lint也没发现错误。再查资料,这个组件的设定都没什么问题,就开始怀疑是不是缓存之类的问题。
umi 默认开启 mfsu,会在 src下建立 .umi ,所以直接删除后就会自动重建。重建后果然错误消除,恢复正常。
看起来mfsu还不是很完美,不过速度是不错的,大大提升效率,这点代价可以接受。
mfsu 有几个主要功能
- 开发的时候实现热加载,性能大大提高
- 发布的时候生成production版本,直接提交git,减少发布时编译打包的时间
参考
umi官方文档:mfsu(Module Federation Speed Up)
antd官方:Ant Design - The world's second most popular React UI framework
antd pro官方:开箱即用的中台前端/设计解决方案 - Ant Design Pro