公司目前有几个项目用到这个,都是 umi.js + antd,我对 umi 也不太熟悉。 现在我要为新项目搭建一个后台,但是我不太喜欢 umi,感觉对于这个项目来说有点复杂,而且想尽量用 Context 来共享数据。
1
xingguang 2021-09-03 17:55:15 +08:00 1
小型的后台其实没必要,自建路由也不是很费事,umi 主要是习惯之后出活比较快,缺点是更新换代还挺快的,有时候老点的东西就不支持了
|
2
noe132 2021-09-03 18:02:55 +08:00 4
我之前把项目的 umi 干掉了,所有东西直接用 webpack 。
路由直接自己遍历目录动态生成代码。 umijs 的文档太不专业了,就跟那种笔记技术博客一个水平。而且很多时候你光看 umi 文档还不够,你还得看他封装的东西的文档。到头来还不如自己搭建来的方便 |
3
IvanLi127 OP @noe132 我也觉得文档有一些随意,而且这种好像是集大成的框架我有点不敢用。
我对直接遍历目录生成路由比较感兴趣,不过没找到相关的轮子,大佬你这生成是在 babel 里实现的,还是 webpack ?我觉得这种方案比较舒服,我都差点想上 next.js 了 |
4
jworg 2021-09-03 18:08:42 +08:00 3
umi2 和 umi3,怎么说呢,现在网上还有很多教程是 2 的,拿来入门的表示被坑的不要不要的,还是 vite 简洁清楚。
|
5
IvanLi127 OP @jworg 我发现有不少人拿 vite 和 umi 对比,我感觉在功能上 umi ≈ vite + 应用框架的样子?
vite 感觉不错,不过之前没用过,这次不敢在公司项目上用。vite 会有什么坑吗? |
6
basefas 2021-09-03 18:21:41 +08:00 2
同不喜欢 umi,连 antd pro 都不用,直接 cra+antd 的 prolayout,剩下的自己撸
发下自己写的 https://github.com/basefas/react-antd-admin |
7
forsigner 2021-09-03 18:23:04 +08:00 1
曾经用了好长一段时间 umi,后面换到 Next.js 了
|
8
Cbdy 2021-09-03 18:25:34 +08:00 via Android
不建议用,另外这是阿里出品
|
10
vision1900 2021-09-03 18:27:31 +08:00 1
珍爱生命,远离 Umi 和 Antd
|
11
IvanLi127 OP @Cbdy 我当时看到有阿里的影子就很慌。
我觉得这方面,阿里家的就 antd 能用了,哈哈(如果不去回忆按钮被狗啃过的那件事)。 |
12
flybluewolf 2021-09-03 18:33:37 +08:00
@vision1900 +1
|
13
noe132 2021-09-03 18:40:49 +08:00 1
不需要 webpack 也不需要 babel 。
直接遍历目录,生成一个树结构,然后根据树结构生成一个 route.ts 里面包括所有的页面的动态 import,然后在 App.tsx 里递归生成对应的 路由元素。 整个解析的代码也就 100 多行。最后就是开发时开一个 watch 服务,检测到文件变化就重新生成一遍就行 https://pastebin.com/bALG20WF |
15
rockjike 2021-09-03 18:46:47 +08:00
@noe132 直接遍历目录,生成一个树结构,然后根据树结构生成一个 route.ts 无法支持路由参数灵活的场景, 一般都以配置化为主, 小型项目走约定式路由
|
16
noe132 2021-09-03 18:53:24 +08:00
@rockjike 自己生成的好处是有啥需求可以直接改,想要啥结构都不是问题。用这种文档差劲的库,文档还没搞清楚,我自己写代码早就写完了。
|
17
x940727 2021-09-03 18:56:01 +08:00
@vision1900 远离 Antd 没问题,React 还有啥好的 UI 框架吗?
|
19
jworg 2021-09-03 19:20:20 +08:00
@IvanLi127 我只是个人用用,写写自己的网页,感觉还没遇到过坑,关键词都能很快搜到解决方法,反倒是 umi 总是搜着搜着发现都是 umi2 的配置 /解决方式。
|
20
yikyo 2021-09-03 20:07:12 +08:00 1
管理后台一般不需要状态管理,hooks + antd procomponents 足够了,开发又快。
|
21
xlsepiphone 2021-09-03 20:14:44 +08:00 1
Vite+TailwindCSS 一把梭,ant design 太重了,umi 个人觉得文档太简略了,封装过头.
|
22
Cbdy 2021-09-03 22:03:35 +08:00
|
23
tuomasi 2021-09-04 05:15:01 +08:00
阿里出品,必属"精品"
|
24
dream4ever 2021-09-04 11:31:32 +08:00
@noe132 这代码看着 真舒服,好评。
|
25
JerryCha 2021-09-04 22:20:53 +08:00
小心阿里
|
26
Rocketer 2021-09-05 03:08:22 +08:00 1
看见很多说自己搭的,我的经验是自己搭还不如用 umi 这种第三方的脚手架呢,至少大家有个统一的文档可以看。
自己搭的架子,文档 90%比 umi 还差,除非这项目完全是你自己做,否则会给其他人带来更痛苦的困扰。 当然我也不用 umi 了,因为阿里的开源项目太个人。之前有个项目,umi 升级后发现文档里只有 yarn 和 ts,而不提供 npm 和 js 的说明了。这是逼着我团队里所有人都学 yarn 和 ts 吗?我知道他一定想说 yarn 和 ts 好,但谁规定好东西一定要学的?又不是个人单打独斗,能带着一群新手出活,才是团队的用法。 还是尽量用 cra 这种用户量大的吧,至少有问题的时候容易搜到答案 |
27
jomsou 2021-09-05 17:14:59 +08:00 via iPhone 1
感觉 umi 对于一般的需求太重了,还有就是 vite 是真香,自己在重构的时候写了个模版,https://github.com/zenquan/react-admin-template.git
路由库 react-router 算是标配吧 |
28
vision1900 2021-09-06 00:41:24 +08:00
@x940727 Chakra
|
29
ccyu220 2021-09-06 08:28:18 +08:00
上部分认同,但是 yarn 和 ts 这段不认同。
|
30
fernandoxu 2021-09-06 10:38:12 +08:00
出活快,但提供的很多方案并不优秀
|
31
noobma 2021-09-06 11:48:22 +08:00
我自己被用过 rax 初始化项目、接手过别人的 umi 项目,都碰到过一个问题,比如 package.json 中 rax 或者 umi 的版本号是 ^1.1.0 这样的,但是过了一段时间他们发版本后,ci 上构建或者把 node_modules 删掉后重装,就会遇到打包的时候报错,项目跑不起来的问题,还要自己去把 "^" 删掉写死版本重新安装才行,这种不是主版本号的升级会有这种问题,让人很无语😓
所以我如果自己能选择的话,会尽量不用这 2 个😓 |
32
asvencoop 2021-09-06 12:16:02 +08:00 via Android 1
公司一直用 antd,在 antd 3.12.4 这个基础上拉下来自己修改了一些组件,已经开发的项目 50+以上。
干活很快,非常方便,个人觉得 ant design 是我用过最好的 ui 框架。 我不是阿里人,但是那些讽刺 ant design 的我看不下去,你真的用过吗? 做了几个项目? |
34
strangeFish 2021-09-06 15:36:20 +08:00
我一开始也挺抗拒 umi 的,但是后面用久了,还是比自己搭香,除非是高度定制化的项目。
另外上面那个版本变动导致翻车的,你们不上传 package.lock.json 的吗?跑 npm ci 是读 lock 的。 |
35
vision1900 2021-09-06 18:44:55 +08:00
@asvencoop 只要稍稍做过一点 UI 定制化就知道 Antd 有多难用,尝试一下 Chakra 就知道 Antd 是多么原始
|
36
nanxiaobei 2021-10-31 04:01:24 +08:00
cra + antd
|
37
nanxiaobei 2021-10-31 04:02:44 +08:00
umi 这玩意太丑太重了,完全没必要。
出了问题不只得研究自己代码了,还得研究 umi |
38
IvanLi127 OP @nanxiaobei 认同,已经抛弃 umi 了
|
39
whevether 2021-11-22 00:15:20 +08:00
@IvanLi127 现在 react-router v6 不在需要 umi 那种路由写法。也能跟 vue angular 之类的写 routes 或组件写法.
|