❝ 前沿:有玩过qiankun的童鞋都知道,若想保证qiankun父应用能够成功正常加载子应用。我们需要“包装好”子应用,在官方文档中可以看到对子应用的打包方式中,就是通过将
webpack
的输出模式定位为UMD
。你可以能好奇,这个UMD
是个什么玩意? ❞
❝ UMD 叫做通用模块定义规范,也是前端模块化演变出的一种模块化定义,是模块定义的跨平台解决方案。它支持运行时让同一个代码的模块,在使用 Commonjs、AMD等其他模块化规范项目中运行,换句话说,UMD可以让你的代码兼容基于其他多种模块化规范写的模块,统一浏览器端以及非浏览器端的模块化方案的规范,通用性很强,但本质上他没有自己的“规范”,他其实就是个集合,将CommonJs、AMD等规范汇聚于一体,就可以同时支持import、require和script直接引用,简单理解可以看下图