[Feature Request] 希望umi4.x支持devServer

im9ewurl  于 2022-12-31  发布在  其他
关注(0)|答案(4)|浏览(472)

Background

新项目主应用使用umi4,子应用使用umi max
开发环境中,主应用访问子应用会跨域
希望可以支持devServer,设置headers:{'Access-Control-Allow-Origin':'*'},允许主应用跨域访问子应用

Proposal

umi4.x继续支持umi3.x中的devServer配置

vdgimpew

vdgimpew1#

proxy 选项:

https://umijs.org/docs/guides/proxy

或者在插件里(比如 项目级插件)调用 onBeforeMiddleware ,可以拿到 express 的 app ,之后想怎么弄怎么弄:

import { IApi } from 'umi'

export default (api: IApi) => {
  api.onBeforeMiddleware(({ app }) => {
    console.log('app: ', app)
  })
}
jfewjypa

jfewjypa2#

我理解proxy是配置接口跨域的
目前是想在主应用访问子应用首页时,配置子应用允许主应用跨域访问

插件的形式希望大佬多给些提示,我应该是没get到关键点,谢谢!

mklgxw1f

mklgxw1f3#

我理解现在支持跨域的 https://github.com/umijs/umi/blob/master/packages/bundler-webpack/src/server/server.ts#L38

自定义的话 可以 app.use 一个中间件达成自定义需求

import { IApi } from 'umi'

export default (api: IApi) => {
  api.onBeforeMiddleware(({ app }) => {
    app.use(helloMiddleware)
  })
}
bmp9r5qi

bmp9r5qi4#

我也遇到了相同的问题,其他开发者启动项目并不支持跨域,目前正在定位问题。
猜测可能是由于操作系统或umi版本导致的,我本地是OS X umi@4.0.34,出现问题的大多是Windows。

相关问题