Closed purple-force closed 4 days ago
需要配置文件配置的 base
值的话,比较好的方式是在配置文件里把这个值用 define
注入,之后项目里通过 process.env.XXX
使用。
需要配置文件配置的
base
值的话,比较好的方式是在配置文件里把这个值用define
注入,之后项目里通过process.env.XXX
使用。
子应用场景下呢?需要用 父应用 base + 子应用前缀,规则可能有很多,而从 history 里导出则比较直接。
子应用需要用的话,在 qiankun 生命周期里,或者 useModel
的父子数据流里,或者全局变量上,把父应用的 basename
公开出去给子应用使用。
或者在如下位置获取:
// src/app.ts
export const modifyClientRenderOpts = (opts: any) => {
console.log('opts: ', opts);
return opts
}
Background
在写一个通用的响应拦截器插件,在登录失效情况下,原先是用 history.push 到本工程内的 '/login' 路由页面。现在需要新打开独立的登录页,在存在路由前缀(.umirc.ts 中配置 base)、微前端子应用等场景下,没有 basename,无法拼接完整的跳转链接
Proposal
export { history }; 这里增加 basename 的导出。这样在自定义插件中即可通过 import { basename } from '@@/core/history' 获取 basename
Additional context
Add any other context or screenshots about the feature request here.