build后打开,在子应用路径下刷新路径丢失
hp6120c opened this issue · comments
Hi你好,感谢你的demo,我在使用的过程中发现build后点击链接可以显示子应用,但是在这个时候刷新下浏览器就获取不到资源了,请问这种情况该怎么解决呢
这样直接访问 bar-app 吗,这个主要需要服务端做相应支持,使得直接访问子应用时返回主应用的 html 文件,单独访问子应用则使用特定的路径 bar-app/source.html
是的,重定向是一种做法,但总感觉不是那么的爽,而且当项目庞大时需要维护一个很长的nginx配置文件,所以更倾向于一种纯前端解决的方式,qiankun官网的demo只有开发者模式还没仔细看如何build。不知道官网的例子里是否有解决方案
你们的子应用有单独访问的需求吗,目前是怎么部署的?
我这个仓库相当于把所有应用部署在了一起,这样 nginx 其实正常配置一下就行,只是子项目不能生成 index.html 文件了
分开部署的话其实是没有这个问题的
我们可能有单独访问的需求,但我现在只是把你的examples build以后再用anywhere打开主应用的index,不用单独访问子应用就默认首页刷新就找不到了,如果真是这样的话每个子应用nginx都做下重定向肯定是不合理的
默认会打开 foo-app 这个子应用,nginx 加一条这个配置就行
location / {
try_files $uri $uri/ /index.html;
}
试了下一样的,可能是我把你demo里的一些配置改了下,当时发现编译后直接dist里起anywhere资源加了/vue-cli-plugin-qiankun/,就把主应用里APP.vue里的改了下,但应该不改也是一样的,我等会改回去再试下。如果方便的话可以加个微信好沟通,我微信号hp6120c
生产环境下改了 publicPath,你可以自己试试看先 .env.production
试过了,还是不行