icestark icon indicating copy to clipboard operation
icestark copied to clipboard

[Discussion] 默认推荐 ES modules 微应用

Open maoxiaoke opened this issue 4 years ago • 0 comments

目前,icestark 支持三种不同规范构建的微应用,分别是:

  • IIFE (指的是 webpack 直接 libraryTarget 配置为 var 的这种类型)
  • UMD
  • ES modules

目前,除官方脚手架会升级成 ES modules 加载方式,官网默认推荐 UMD 的包构建方式。是否考虑将 ES modules 作为 icestark 默认的子应用的包构建方式。

可预见的问题主要有:

  • 因为浏览器兼容性问题,直接使用 Vite 或 icejs Vite 的用户可能不是很强烈
  • 现有用户升级问题(从 umd 升级到 ES modules 的代价比较大)
  • 无法使用 proxy 沙箱(需要评估下这个重不重要)

如果将 ES modules 作为 icestark 默认的子应用的包构建方式,主要的事情包括:

  • loadScriptMode 默认为 import (目前不要做这个大的 breakChange,可以在未来的版本做)
  • 官网文档默认提供 ES module 的使用方式
  • 所有示例,以及示例代码均修改为 ES modules 规范
    • 官方 react 脚手架 (已升级)
    • 官方 Vue 脚手架升级为 Vite 模式
  • 提供便捷的微应用改造插件(主要是 Vite 插件)
    • html 插件 + lifecycles 插件

maoxiaoke avatar Sep 29 '21 03:09 maoxiaoke