【背景】
所用 umi 项目使用的是 spa 模式,开启了 dynamicImport,拆分构建产物。
(不开启 dynamicImport,则不会出现这种问题)
【现象】
1、本地开发:umi dev 启动,一切正常
2、本地打包:umi build 后,serve dist 预览,报 404
【解决方式】
1、history 配置:{ history: { type: 'hash' } }
【缺点】
1)路径会变成 hash 路径: https:xxx.xxx.com/#/xxx
2)如果有 window.location.href = '' 这样的跳转逻辑,这些页面还是会 404(因为这里需要的是 #/xxx 这样的跳转路径)
2、配置 exportStatic: {}
即:让每个页面都输出自己的html,从而确保,使用 history 路由跳转到的每个页面,都能够读到自己的 html,而不会404