淘系技术飞冰团队正式发布 icejs 2

淘系技术飞冰团队发布了icejs 2.0,引入Vite提升启动与热更新速度,同时优化Webpack 5的性能。Vite模式下热更新时间提升10倍,Webpack模式借助Webpack 5 Cache和Module Federation预编译方案提升性能。此外,icejs 2.0还支持基于Module Federation的预编译、SWC试验性替代Babel,并提供SSR/SSG方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  启动与热更新

在引入 Vite 之后,我们针对 fusion-design-pro 这个较为复杂的项目做了一些测试,首先是项目启动时间,首次启动时间上,Vite 本身有按需构建的机制,加上借助 esbuild 的加持比 Webpack 快了 50%,但是二次启动时间上,得益于 Webpack 5 Cache 机制的加持下反而是 Webpack 要稍快于 Vite。

由于 Vite 的 devServer 启动不依赖源码编译,因此 Vite 的 启动编译结束时间基于源码开始执行时间计算。

c5531bccac36af80497d22f49875e29a.png

其次是热更新时间,与启动时间相比热更新时间 Vite 是完全碾压 Webpack 模式的,Vite 模式下热更新时间提升了 10 倍以上,只需要 100ms,并且不会随着项目变复杂而劣化。这也是我们觉得 ES modules 模式带来的最大收益点。

4a73a9fdae4a0e4a88bc9caa0948f4ed.png

  框架能力适配

除了上述基础的配置以外,框架还提供了更上层的能力,对于这些能力我们也做了同步的支持:

  1. MPA/SPA/微前端/一体化等不同应用模式的工程能力适配

  2. 本地调试实时的 TypeScript/ESlint 检测能力:实现 vite-plugin-ts-checker 以及 vite-plugin-eslint-report 插件

  3. JSX+ 语法支持:结合 Babel 实现对应的 vite-plugin-jsx-plus 插件

  4. SSR/SSG:支持中

通过上述工作,我们保证了 icejs Webpack 模式下 80% 的能力在 Vite 模式下一致性的使用方式,其他能力我们也在结合业务诉求同步支持中。

Webpack 模式:稳中求进

icejs 1.0 有大量存量的 Webpack 模式项目需要持续支持,同时在某些场景也无法切换到 ES modules 模式,因此在 2.0 中我们对于 Webpack 模式依然跟随社区的脚步在做持续的优化。

  Webpack 5

从 ice.js 2.0 版本开始

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值