升级 webpack 5 遇到的坑,果然过早的优化是万恶之源

2021-03-31 16:31:48 +08:00
 einsdisp

目前有若干前端项目,2 年前的时候抽象出了一个用于构建的工具包 boilerplate (类似 create-react-app 这种),当时用的 webpack 4,大概各种构建工具使用的版本现在比较老了,每次安装 /升级包的时候,npm 就提示有两百多个漏洞

found 2xx low severity vulnerabilities

这么多漏洞,可能其实并没有啥危害,但对于强迫症而言,就是看着不爽。关键很多漏洞要解决的话,根据 npm audit 提示,很多包必须升级大版本号,特别是要升级到 webpack v5 。

近期正好要修改 boilerplate 包,添加一些功能,于是一派脑门,打算干脆一不做二不修,升级到 webpack v5,结果折腾两天,发现有很多的插件 /工具尚不支持 webpack 5,或者有 bug,或者是声明的 dependencies/peerDependencies 仍然绑定着 v4 版本的 webpack 或者 @types/webpack 。

然后才想起来,看了下 create-react-app 的 issue,发现这种级别的项目也还没完全支持 webpack 5 呢: https://github.com/facebook/create-react-app/issues/9994 (看这个 issue,还有一些工作没完成呢)

看来 webpack5 的生态还不完善,不想当小白鼠,花费太多时间在工具链的配置 /升级上毫无意义,而且 webpack v5 的新特性也没啥刚需,目前 v4 下,构建时间也还可以。于是果断放弃,继续用回 webpack 4,两天时间白费力,郁闷。果然过早的优化是万恶之源,v5 去年 10 月发布正式版,现在升级到 v5 还是太早了,估计至少等一年生态系统才会比较完善。

这个时候就显示出 golang 的好处了,golang 的生态环境,很少出现 python2 vs python3,webpack4 vs webpack5 的这种大的割裂。大多数时,可以无脑升级大版本号。

4721 次点击
所在节点    程序员
28 条回复
Sparetire
2021-04-01 01:05:41 +08:00
大版本升级本来就是会有 breaking change 的,你对大版本升级的期望是无脑升,我一时竟不知道是谁有问题。。
标题说过早优化,通常我们说过早优化是形容优化代码,整篇洋洋洒洒看下来也没看见和优化代码有什么关系
WillBC
2021-04-01 08:40:55 +08:00
webpack 的学习和使用体验就是 💩,node 的生态环境也是。
byte10
2021-04-01 09:10:04 +08:00
@WillBC 头大,golang 和 node 其实很像的,就是轮子多,小猫小狗都可以搞轮子。
sjhhjx0122
2021-04-01 09:26:18 +08:00
自从用了 vite 就回不去了
fulvaz
2021-04-01 09:45:05 +08:00
不要方, 等到 lts 的最后一天升级也不迟
yaphets666
2021-04-01 09:53:31 +08:00
干了快 3 年前端了.越来越觉得前端是一团迷雾,多得是不知道的坑.有些想转 java 了
ezreal
2021-04-01 10:17:36 +08:00
vite 方便多了
dany813
2021-04-01 13:00:45 +08:00
利好 vite

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/766914

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX