Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build后打开,在子应用路径下刷新路径丢失 #4

Open
hp6120c opened this issue Mar 30, 2020 · 8 comments
Open

build后打开,在子应用路径下刷新路径丢失 #4

hp6120c opened this issue Mar 30, 2020 · 8 comments

Comments

@hp6120c
Copy link

hp6120c commented Mar 30, 2020

Hi你好,感谢你的demo,我在使用的过程中发现build后点击链接可以显示子应用,但是在这个时候刷新下浏览器就获取不到资源了,请问这种情况该怎么解决呢

@F-loat
Copy link
Owner

F-loat commented Mar 30, 2020

这样直接访问 bar-app 吗,这个主要需要服务端做相应支持,使得直接访问子应用时返回主应用的 html 文件,单独访问子应用则使用特定的路径 bar-app/source.html

@hp6120c
Copy link
Author

hp6120c commented Mar 31, 2020

是的,重定向是一种做法,但总感觉不是那么的爽,而且当项目庞大时需要维护一个很长的nginx配置文件,所以更倾向于一种纯前端解决的方式,qiankun官网的demo只有开发者模式还没仔细看如何build。不知道官网的例子里是否有解决方案

@F-loat
Copy link
Owner

F-loat commented Mar 31, 2020

你们的子应用有单独访问的需求吗,目前是怎么部署的?

我这个仓库相当于把所有应用部署在了一起,这样 nginx 其实正常配置一下就行,只是子项目不能生成 index.html 文件了

分开部署的话其实是没有这个问题的

@hp6120c
Copy link
Author

hp6120c commented Mar 31, 2020

我们可能有单独访问的需求,但我现在只是把你的examples build以后再用anywhere打开主应用的index,不用单独访问子应用就默认首页刷新就找不到了,如果真是这样的话每个子应用nginx都做下重定向肯定是不合理的

@F-loat
Copy link
Owner

F-loat commented Mar 31, 2020

默认会打开 foo-app 这个子应用,nginx 加一条这个配置就行

location / {
  try_files $uri $uri/ /index.html;
}

@hp6120c
Copy link
Author

hp6120c commented Mar 31, 2020

试了下一样的,可能是我把你demo里的一些配置改了下,当时发现编译后直接dist里起anywhere资源加了/vue-cli-plugin-qiankun/,就把主应用里APP.vue里的改了下,但应该不改也是一样的,我等会改回去再试下。如果方便的话可以加个微信好沟通,我微信号hp6120c

@F-loat
Copy link
Owner

F-loat commented Mar 31, 2020

生产环境下改了 publicPath,你可以自己试试看先 .env.production

@hp6120c
Copy link
Author

hp6120c commented Mar 31, 2020

试过了,还是不行

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants