ant-design-pro icon indicating copy to clipboard operation
ant-design-pro copied to clipboard

🚀 升级到 umi@4

Open chenshuai2144 opened this issue 3 years ago • 51 comments

升级到 umi@4

安装 yarn add @umijs/max

同时删除以下的依赖

"@umijs/plugin-blocks": "^2.2.0",
"@umijs/plugin-esbuild": "^1.4.0",
"@umijs/plugin-openapi": "^1.3.0",
"@umijs/preset-ant-design-pro": "^1.3.0",
"@umijs/preset-dumi": "^1.1.0",
"@umijs/preset-react": "^2.1.0",

修改 "postinstall": "max setup",

删除 config/config.dev.ts

修改 fastRefresh: true

删除 dva 的配置

dva: {
    hmr: true,
  },

删除 config 中 dynamicImport, esbuild, openAPI, nodeModulesTransform, exportStatic 的配置。

使用 max 命令来替换 umi,max dev,max build 等。

umi dev -> max dev
umi build -> max build
umi openapi -> max openapi

from 'umi'; 修改为 from '@umijs/max';,详细这个diff

https://github.com/ant-design/ant-design-pro/pull/9956/files#diff-4f15e8cec0638e78138fbc4f2096e379a024084d76329b5b50bef0eccf1aee3e

删除 lint:style ,stylelint 需要的越来越少了

删除的功能

  • 区块功能
  • 删除对 IE 的支持,如果对 IE 有需求,请使用旧版本,(react,antd 都将不支持的 ie11)

新建 umi@4 或 umi@3 项目

npm i @ant-design/pro-cli -g

然后使用 pro create demo

image

选择umi@4 暂时不能使用全部区块

image

查看 demo 文件夹即可。

使用全量的block

选择 umi@3 和 complete

image

chenshuai2144 avatar Jun 27 '22 03:06 chenshuai2144

为啥ant design pro要绑定自己的umi框架,我觉得应该舍弃掉?

kimmy-wang avatar Jun 27 '22 06:06 kimmy-wang

umi确实是毒瘤,各种问题

为啥ant design pro要绑定自己的umi框架,我觉得应该舍弃掉?

DreamPWJ avatar Jun 27 '22 06:06 DreamPWJ

image image

没跑起来。。。。

我也是~~

edifangyi avatar Jun 27 '22 07:06 edifangyi

pro应该学习开箱即用 组合优于集成的思想,精简项目,提供各种插件做插拔式渐进式增强。 vue之所以受欢迎就是因为上来很简单,渐进式增强

DreamPWJ avatar Jun 28 '22 01:06 DreamPWJ

是被umijs接管了吗?看v4、v5文档 生成的脚手架都是@umijs/max的……

lazyhero avatar Jun 29 '22 03:06 lazyhero

pro 是 umijs 和 ant design 的组合。

chenshuai2144 avatar Jun 29 '22 06:06 chenshuai2144

阿里的项目都是强行绑定自己公司的产品,向用户推出。

kimmy-wang avatar Jun 29 '22 12:06 kimmy-wang

使用pro create 创建后 选>umi@4 将.ts ,tsx 重命名为.js 并移除掉 原.ts内文件的 Type

npm start启动报错 fatal - Error: Parse error @:61:36 at parse ( \node_modules_@[email protected]@@umijs\bundler-utils\compiled\es-module-lexer\index.js:1:511)

zhanchengkun avatar Jul 01 '22 01:07 zhanchengkun

尽量不要用js,我们这里已经没有 js 项目了,出了问题没办法保证支持。

chenshuai2144 avatar Jul 01 '22 02:07 chenshuai2144

windows安装了 @ant-design/pro-cli之后,没办法创建项目 image 没有任何反应

blueiky avatar Jul 01 '22 02:07 blueiky

@blueiky 注意下版本?

chenshuai2144 avatar Jul 01 '22 06:07 chenshuai2144

测试了一下,npm使用taobao的源安装 @ant-design/pro-cli可以正常使用,使用默认的源就不行

@blueiky注意下版本?

blueiky avatar Jul 01 '22 07:07 blueiky

用最新的cli选择umi4生成的项目,在手机端打开页面因为宽度不够直接不显示菜单了,该怎么处理呢?

chenzheio avatar Jul 03 '22 17:07 chenzheio

@chenshuai2144 1)Antd Pro V5 原来的Layout,深色导航菜单模式是否可以保留 2)左侧 Sider Collapsed Button这个圆形的折叠按钮,位置能否可选,现在在右边,不需要面包屑的页面,会遮挡页面内容

iscmcloud avatar Jul 04 '22 03:07 iscmcloud

开个新issue 聊设计问题

chenshuai2144 avatar Jul 04 '22 05:07 chenshuai2144

按文档升级后,报错Unhandled Rejection (Error): register failed, invalid key getInitialState from plugin 看.umi文件中,没有plugin-initialState这个插件

geyitu avatar Jul 07 '22 09:07 geyitu

为啥ant design pro要绑定自己的umi框架,我觉得应该舍弃掉?

版本迭代对不怎么使用typescript的人来说太不友好了

666-arch avatar Jul 07 '22 14:07 666-arch

max openapi报错 image

skyunBoss avatar Jul 10 '22 04:07 skyunBoss

 //================ pro 插件配置 =================
  presets: ['umi-presets-pro'],
  /**
   * @name openAPI 插件的配置
   * @description 基于 openapi 的规范生成serve 和mock,能减少很多样板代码
   * @doc https://pro.ant.design/zh-cn/docs/openapi/
   */
  openAPI: [
    {
      requestLibPath: "import { request } from '@umijs/max'",
      // 或者使用在线的版本
      // schemaPath: "https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json"
      schemaPath: join(__dirname, 'oneapi.json'),
      mock: false,
    },
    {
      requestLibPath: "import { request } from '@umijs/max'",
      schemaPath: 'https://gw.alipayobjects.com/os/antfincdn/CA1dOm%2631B/openapi.json',
      projectName: 'swagger',
    },
  ],

chenshuai2144 avatar Jul 11 '22 03:07 chenshuai2144

真的好难升级呀:

  1. 要改代码不说,router 没法兼容 v5, 鬼知道之前代码里面有没有啥不兼容的用法, react-router-dom-v5-compat 也不知道怎么加,文档上也搜不到。
  2. 之前的 defaultSettings 啥的也不生效了,layout 也要改成 pro-components 了,页面样式啥的也都和之前不一样,醉了
  3. app.tsx 里面 initialStateConfig 不生效了,怎么加 PageLoading 咱也不知道,升级文档上也没有说
  4. webpack bundler 的时候,CLI 里面倒是秒级启动,浏览器页面整个进度的界面一直挂着估计得有5min

await-ovo avatar Jul 14 '22 07:07 await-ovo

难用就用其他的啊,或者收费的,推荐一款ant-design-vue。我就不用阿里的开源,一身轻松,哈哈哈哈

kimmy-wang avatar Jul 14 '22 07:07 kimmy-wang

layout设置mix,headerBgColor设置无效

skyunBoss avatar Jul 15 '22 06:07 skyunBoss

按文档升级后,报错Unhandled Rejection (Error): register failed, invalid key getInitialState from plugin 看.umi文件中,没有plugin-initialState这个插件

我也出现了这个问题,后面发现需要在 config.ts 文件里配置 initialState: {} 建议检查一下自己的 config.ts官方 diff 的 config.ts 的差异

tangbzai avatar Jul 17 '22 06:07 tangbzai

现在还能downjs版本的吗

chb584890926 avatar Jul 18 '22 02:07 chb584890926

app.tsx 中拿不到 node 的自定义环境变量呢。pages/页面 可以拿到(通过define 转了一层)。

app.tsx通过什么方式能获取呢?

zhanchengkun avatar Jul 22 '22 07:07 zhanchengkun

开启ssr后会显示less文件无法解析

soqt avatar Jul 27 '22 06:07 soqt

pro 是 umijs 和 ant design 的组合。 升级后路由咋搞呢

HdjPoppy avatar Jul 27 '22 08:07 HdjPoppy

升级到 umi@4

安装 yarn add @umijs/max

同时删除以下的依赖

"@umijs/plugin-blocks": "^2.2.0",
"@umijs/plugin-esbuild": "^1.4.0",
"@umijs/plugin-openapi": "^1.3.0",
"@umijs/preset-ant-design-pro": "^1.3.0",
"@umijs/preset-dumi": "^1.1.0",
"@umijs/preset-react": "^2.1.0",

修改 "postinstall": "max setup",

删除 config/config.dev.ts

修改 fastRefresh: true

删除 dva 的配置

dva: {
    hmr: true,
  },

删除 config 中 dynamicImport, esbuild, openAPI, nodeModulesTransform, exportStatic 的配置。

使用 max 命令来替换 umi,max dev,max build 等。

umi dev -> max dev
umi build -> max build
umi openapi -> max openapi

from 'umi'; 修改为 from '@umijs/max';,详细这个diff

https://github.com/ant-design/ant-design-pro/pull/9956/files#diff-4f15e8cec0638e78138fbc4f2096e379a024084d76329b5b50bef0eccf1aee3e

删除 lint:style ,stylelint 需要的越来越少了

删除的功能

* 区块功能

* 删除对 IE 的支持,如果对 IE 有需求,请使用旧版本,(react,antd 都将不支持的 ie11)

新建 umi@4 或 umi@3 项目

npm i @ant-design/pro-cli -g

然后使用 pro create demo

image

选择umi@4 暂时不能使用全部区块

image

查看 demo 文件夹即可。

使用全量的block

选择 umi@3 和 complete

image

升级umi4后路由凉凉了呀

HdjPoppy avatar Jul 27 '22 08:07 HdjPoppy

  • 区块功能

  • 删除对 IE 的支持,如果对 IE 有需求,请使用旧版本,(react,antd 都将不支持的 ie11)

不支持iE了么? 这么坑

sqsj17 avatar Jul 31 '22 05:07 sqsj17

新版本把默认菜单的样式丢了?以前默认的活动菜单蓝色没了 image

minm2015 avatar Aug 01 '22 03:08 minm2015

新版本把默认菜单的样式丢了?以前默认的活动菜单蓝色没了 image

貌似是pro-layout后面几个版本就把样式重写了,我现在用的是"@ant-design/pro-layout": "^6.34.0",可以用以前的样式@minm2015

chenliangngng avatar Aug 01 '22 05:08 chenliangngng

大佬,umi4里删除了openapi,现在怎么集成进去啊

coder-xiaotian avatar Aug 03 '22 10:08 coder-xiaotian

大佬,umi4里删除了openapi,现在怎么集成进去啊

  plugins: ['@umijs/max-plugin-openapi'],
  openAPI: {
    requestLibPath: "import { request } from '@umijs/max'",
    schemaPath: resolve(__dirname, './openapi.json'),
    mock: false,
  },

我是这样配置的,就可以用了。不过这样配置有问题,跑项目的时候要删掉那些@775146061

chenliangngng avatar Aug 03 '22 10:08 chenliangngng

大佬,umi4里删除了openapi,现在怎么集成进去啊

  plugins: ['@umijs/max-plugin-openapi'],
  openAPI: {
    requestLibPath: "import { request } from '@umijs/max'",
    schemaPath: resolve(__dirname, './openapi.json'),
    mock: false,
  },

我是这样配置的,就可以用了。不过这样配置有问题,跑项目的时候要删掉那些@775146061

感谢感谢大佬🙏!可以问下具体是什么问题吗?我配置成功了,暂时还没发现问题

coder-xiaotian avatar Aug 04 '22 01:08 coder-xiaotian

大佬,umi4里删除了openapi,现在怎么集成进去啊

  plugins: ['@umijs/max-plugin-openapi'],
  openAPI: {
    requestLibPath: "import { request } from '@umijs/max'",
    schemaPath: resolve(__dirname, './openapi.json'),
    mock: false,
  },

我是这样配置的,就可以用了。不过这样配置有问题,跑项目的时候要删掉那些@775146061

感谢感谢大佬🙏!可以问下具体是什么问题吗?我配置成功了,暂时还没发现问题

我这边配了openapi项目跑不起来,要跑起来就要把openapi的配置删掉,不知道是我一个人的问题

chenliangngng avatar Aug 04 '22 01:08 chenliangngng

大佬,umi4里删除了openapi,现在怎么集成进去啊

  plugins: ['@umijs/max-plugin-openapi'],
  openAPI: {
    requestLibPath: "import { request } from '@umijs/max'",
    schemaPath: resolve(__dirname, './openapi.json'),
    mock: false,
  },

我是这样配置的,就可以用了。不过这样配置有问题,跑项目的时候要删掉那些@775146061

感谢感谢大佬🙏!可以问下具体是什么问题吗?我配置成功了,暂时还没发现问题

我这边配了openapi项目跑不起来,要跑起来就要把openapi的配置删掉,不知道是我一个人的问题

确实是启动报错😂

coder-xiaotian avatar Aug 05 '22 01:08 coder-xiaotian

用pro create的umi4项目里config还是有 targets: { ie: 11, }, 然后又不支持IE11

tonny008 avatar Aug 05 '22 03:08 tonny008

大佬,umi4里删除了openapi,现在怎么集成进去啊

  plugins: ['@umijs/max-plugin-openapi'],
  openAPI: {
    requestLibPath: "import { request } from '@umijs/max'",
    schemaPath: resolve(__dirname, './openapi.json'),
    mock: false,
  },

我是这样配置的,就可以用了。不过这样配置有问题,跑项目的时候要删掉那些@775146061

感谢感谢大佬🙏!可以问下具体是什么问题吗?我配置成功了,暂时还没发现问题

我这边配了openapi项目跑不起来,要跑起来就要把openapi的配置删掉,不知道是我一个人的问题

大佬,安装这个依赖包pnpm i -D swagger-ui-dist,然后启动就没问题了

coder-xiaotian avatar Aug 05 '22 07:08 coder-xiaotian

大佬,umi4里删除了openapi,现在怎么集成进去啊

  plugins: ['@umijs/max-plugin-openapi'],
  openAPI: {
    requestLibPath: "import { request } from '@umijs/max'",
    schemaPath: resolve(__dirname, './openapi.json'),
    mock: false,
  },

我是这样配置的,就可以用了。不过这样配置有问题,跑项目的时候要删掉那些@775146061

感谢感谢大佬🙏!可以问下具体是什么问题吗?我配置成功了,暂时还没发现问题

我这边配了openapi项目跑不起来,要跑起来就要把openapi的配置删掉,不知道是我一个人的问题

大佬,安装这个依赖包pnpm i -D swagger-ui-dist,然后启动就没问题了

image 我觉得可以先这样解决

howiepu avatar Aug 05 '22 07:08 howiepu

新版给人的感觉: 版本迭代没做好就放出来了

darkfiredarkhalo avatar Aug 08 '22 09:08 darkfiredarkhalo

升级以后凉凉,ui只有白色,不好看了,适配也没做好,看来只能先用umi3了,公司新招了设计总监需要三把火吗

xiaoguikeji avatar Aug 13 '22 10:08 xiaoguikeji

@chenshuai2144 大佬 请问按照现在的官方文档引入antd pro 直接这样报错是为什么呀 [我看下载的源是gitee不是GitHub image

kkh666 avatar Aug 15 '22 03:08 kkh666

这个适配进度有点慢啊。我理解开源维护不易,但这都过了一个多月了,看问题还是很多,就感觉我不如回到直接用antd自己维护一套的好,pro-components 我觉得也应该少用 :(

codering avatar Aug 15 '22 06:08 codering

image

useModel怎么都在umi中找不到,最新版本和上面例子版本,都没有,求助。

dreamerjdwGit avatar Aug 18 '22 03:08 dreamerjdwGit

显式申明,umi4文档上有@dreamerjdwGit

chenliangngng avatar Aug 18 '22 03:08 chenliangngng

升级后 config.ts antd: { compact: true, }, 设置紧凑模式无效

wushizhan avatar Aug 24 '22 06:08 wushizhan

从v5 beta开始用,一直跟着升级到了5.2,此次跟着升级到了6beta,升级过程花了点时间,但是都没问题,项目开发内容也不少了,我觉得升级兼容性还好,layout确实不好兼容,直接单独引入了,也就是没有使用layout的7.0版本,等稳定了再改回来,大家细心点,多看看文档,不行拉个新项目,自己一点点对比,我每次升级都这样处理,我现在都能背下来项目都有啥文件了,

yuandalu avatar Aug 24 '22 10:08 yuandalu

image

useModel怎么都在umi中找不到,最新版本和上面例子版本,都没有,求助。

俺也一样

lbyupup avatar Aug 31 '22 07:08 lbyupup

image useModel怎么都在umi中找不到,最新版本和上面例子版本,都没有,求助。

俺也一样

我在tsconfig.json文件中加了下面这句:

"@umijs/max": ["project folder\\node_modules\\@umijs\\max"]

重新yarn一下就好了, 不知道是不是这么搞好的, 可以试一试(其中prject folder替换成项目路径)

icecreamzhao avatar Sep 08 '22 13:09 icecreamzhao