Envov
2023-03-23 22:54:30 +08:00
不是前端大牛,就是小兵
问题 1 加载不到子应用
这大概率是路由匹配的问题,需要注意两点:
第一个是基座的路径需要 registerMicroApps 给子应用注册的地址要提前确定,例如是 “/app1”
第二个是子应用的所有路由也需要匹配“/app”才可以正常显示,
举个例子
基座是 app1=“/app1”
子应用单独打开 “/app1”要可以访问首页
子应用单独打开 “/app1/page1”要可以访问,如果子应用单独访问“/page1”才能显示,说明匹配不上
如果基座带 baseUrl ,那么子应用也需要带相应的 baseurl
例如基座带一个全局的 baseurl 叫“/mybaseurl”,注册 app1=“/app1”
那么子应用的 baseurl 应该是“/mybaseurl/app1”
问题 2 刷新页面会报 404
这个不知道是构建后还是开发时,如果是构建后:
因为构建后放到 web 服务器中,刷新时,浏览器真的会请求“/mybaseurl/app1/page1”
此时需要做资源策略:
1:首先保证访问基座代码,需要将 / 下所有的 404 响应为基座的 index.html
location / {
root /xxx;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
2: 为每个子应用设定自己的二级路径转发
location /mybaseurl/app1 {
root /xxxx;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
以上来自之前做项目时候的记忆+搜索