腾讯开源 hel-micro 微模块,号称“业界首个基于 SDK 的联邦技术方案”

2023-11-14 13:41IT之家 - 漾仔(实习)

IT之家 11 月 14 日消息,腾讯开源昨日公布了名为 hel-micro 的微模块方案,号称是业内首个以 SDK 的方式支持模块联邦技术的方案,可“脱离工具链的枷锁,回归到 JS 语言本身”,从而让不同工具链间的联邦模块可以互认互通,提高了模块的流通。

▲ 图源 腾讯开源

▲ 图源 腾讯开源

腾讯表示,随着前端开发进入工程化、模块化、组件化开发时代,多人、跨团队共同协作开发一个项目已成为常态,项目规模庞大到一定程度时会遇到以下问题:

  • 项目引入的第三方模块越来越多,导致包体构建速度越来越慢;

  • 一些基础业务模块抽象到 npm 提供给其他项目复用后,一旦有功能优化或问题修复,需要推动使用方主动更新;

针对此痛点,社区提出了模块联邦技术方案,将成为未来的主流开发趋势,它最大的优势不参与主项目编译,降低主项目包体积,提高编译速度,并让模块引入方可以做线上动态更新,完美解决了上述两大痛点。

目前社区实现模块联邦的头部玩家是 webpack5 推出的 ModuleFederation 特性来支持,以及 vite 社区的强势追随者 vite-federation-plugin,但他们都是以构建工具链支持的方式支持,意味着主项目和子项目间必须工具链统一,否则彼此之间模块不能互认(例如主项目是 webpack5,子项目是 webpack4, 例如主项目是 vite,子项目是 webpack、parcel 等其他)。

▲ 图源 腾讯开源

为了转移这些本不该让开发承担的额外迁移成本,hel-micro 提出了模块联邦 SDK 化的架构理念并成功将其实现。

IT之家从腾讯新闻稿中得知,hel-micro 微模块方案拥有“跨项目共享”、“动态更新”、“免构建”、“工具链无关”、“远程模块类型提示”、“无缝集成 npm 生态”特性,接入代价相对 Webpack5 MF、Vite-federation-plugin 更小

腾讯同时表示,未来计划为框架规划更多的上层框架远程加载适配器,包含:

  • 远程 web component 组件

  • 远程 angular 组件

  • 远程 vue 组件

  • 远程 react 组件(已实现为 hel-micro-react,提供钩子函数加载远程 react 组件)

  • 远程 svelte 组

目前腾讯已经将项目公布在 GitHub 中,感兴趣的小伙伴们可以点此访问

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      文章发布时间太久,仅显示热门评论
      全部评论
      一大波评论正在路上
        取消发送
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享