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

[Bug] umi3升级umi4过程中,遇到的三个问题(msfu、layout、Outlet) #8172

Closed
sorryljt opened this issue Jun 21, 2022 · 14 comments

Comments

@sorryljt
Copy link

sorryljt commented Jun 21, 2022

如题,在存量umi3项目升级umi4的过程中,遇到的三个阻塞性问题

🤔🤔 显式配置mfsu为{esbuild: true}时,控制台报如下错:

image

🤔🤔 开启layout后,报错”React is not defined“

通过注释,然后上面的问题后,因为开启了layout配置如下:

  layout: {
    locale: false,
    siderWidth: 218,
    ...defaultSettings,
  },

页面报错” React is not defined“排查到问题来源于”proLayout“

### 🤔🤔 Outlet会导致页面报错,并不能渲染
通过注释的方式,绕过了上面两个问题后,发现页面还是不能渲染,排查到,是对Outlet不支持,控制台报错如下
![image](https://user-images.githubusercontent.com/56460015/174776354-36fd0398-1e55-498e-b7c1-0435be7412f0.png

🤔🤔 其他问题

  1. umi4不再有deServer的配置,那么有相关需求,如配置port,只能去命令行中设置,有没有通过构建时配置的方式了?
  2. umi3文档还有吗,umi3的文档还是有需要的

复现步骤

见:https://github.com/sorryljt/umi4issue
ps:为保持环境一致,这里直接用的实际项目环境,删掉业务代码后,可保证上述问题必现

@xiaohuoni
Copy link
Member

起不来,@fang/image-upload is not in the npm registry, or you have no permission to fetch it.

@xiaohuoni
Copy link
Member

umi4不再有deServer的配置,那么有相关需求,如配置port,只能去命令行中设置,有没有通过构建时配置的方式了?

可以通过环境便利浪配置 https://umijs.org/docs/guides/env-variables#port 环境变量,可以在 .dev 文件里面配置,不一定要在命令行中设置

umi3文档还有吗,umi3的文档还是有需要的
首页底部,正在修改到首页顶部

@sorryljt
Copy link
Author

📣📣📣Outlet的问题是我个人的问题,已解决,请忽略;
另外补充:
本项目启动时,终端日志里:Directory ./src/api exists, but config.apiRoute is not set. API route feature will not be enabled!
是啥意思呢,怎么消除这个警告

@xiaohuoni
Copy link
Member

发现一个新的问题,在项目中安装了 "@ant-design/pro-layout": "^5.0.12" 也会导致项目错误 ,需要 "@ant-design/pro-layout": "next",

@xiaohuoni
Copy link
Member

xiaohuoni commented Jun 21, 2022

开启layout后,报错”React is not defined“

https://github.com/umijs/umi-next/pull/945
可通过升级 react 到 18 规避这个问题。

@xiaohuoni
Copy link
Member

📣📣📣Outlet的问题是我个人的问题,已解决,请忽略; 另外补充: 本项目启动时,终端日志里:Directory ./src/api exists, but config.apiRoute is not set. API route feature will not be enabled! 是啥意思呢,怎么消除这个警告

src/api 是一个新的约定目录

@xiaohuoni
Copy link
Member

xiaohuoni commented Jun 21, 2022

🤔🤔 显式配置mfsu为{esbuild: true}时,控制台报如下错:

这个问题我控制台都没报错,但是页面空白,需要进一步更进,可以先不使用 mfsu 的 esbuild 模式。
image

@sorryljt
Copy link
Author

📣📣📣Outlet的问题是我个人的问题,已解决,请忽略; 另外补充: 本项目启动时,终端日志里:Directory ./src/api exists, but config.apiRoute is not set. API route feature will not be enabled! 是啥意思呢,怎么消除这个警告

src/api 是一个新的约定目录

好的,多谢,那我换个别的目录

@sorryljt
Copy link
Author

🤔🤔 显式配置mfsu为{esbuild: true}时,控制台报如下错:

这个问题我控制台都没报错,但是页面空白,需要进一步更新,可以先不使用 mfsu 的 esbuild 模式。 image

对,我也是同样的表现,浏览器控制台报错了

@fz6m
Copy link
Contributor

fz6m commented Jun 22, 2022

第一个问题应该是 qiankun: { slave: {} } 导致的

@sorryljt
Copy link
Author

第一个问题应该是 qiankun: { slave: {} } 导致的

可以解决吗?我们这个是一个微前端子应用,必须这样配

@sorrycc
Copy link
Member

sorrycc commented Jun 24, 2022

layout 的已经修了;mfsu 的 esbuild 模式在一些场景下还不够完善,遇到了先不开吧,或者提供最简复现。

还有其他问题请单独提 issue。

@sorrycc sorrycc closed this as completed Jun 24, 2022
@NeverGiveUp1995
Copy link

采用约定式路由时,全局的layout中,props里面什么都没有
image
image

@xiaorong61
Copy link

xiaorong61 commented Sep 18, 2022

采用约定式路由时,全局的layout中,props里面什么都没有 image image

用 <Outlet />

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

6 participants