首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一个经常被忽略的 single-spa 微前端实践

这种通过 import-map 引入的库是 SystemJS 异步 JS 的一大特性,这也是 single-spa 一直强调的 JS Entry —— 通过 JS 加载微应用。...webpack 打包 虽然入口 JS 写的很简单,但是我们依然要把它打包成 SystemJS 的方式,这样才能在 index.html 里动态引入: // index.html SystemJS 的方式来引入,有点脱裤子放P。而且要在 index.html 里动态引入 JS,只能用 SystemJS 的方式来引入第三方库。...SystemJS 已经是非常久远的一种打包方法了,所以大家就不要扛:为什么那样不行。 注意:这里的 import-map 并不是 SystemJS 的专有特性,在一些高版本的浏览器上也是可以使用的。...只不过 SystemJS 可以处理平台使用 import-map 时的一些兼容问题。

1.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    微前端拆分实践

    如果我们想要将 url 替换为我们平时开发时候的字符串,就得依赖于 import-map,但是大部分浏览器现在都还不支持这一特性,于是我们需要引入 systemjs: how-to-use-systemjs...由于我们使用了 systemjs,为了按照它的规矩来行事,我们需要在原本的规范上修改一些代码: 首先是我们需要在开始引入 systemjs 然后将 import-map 的 type 从 importmap...改为 systemjs-importmap 接着把 es-module 的 type 从 module 改为 systemjs-module 最后是改动最大的地方,在 es-module 中我们不再使用...import 和 export 来导入导出模块,转而使用 systemjs 的语法,不过不用担心, webpack 和 rollup 等打包工具现在都支持将代码打包成 systemjs 风格,所以我们在写代码的时候还是可以按照正常规范来写...引用 [1] single-spa [2] 迭代开发中的微服务拆分 [3] 微前端——前端开发新体验 [4] systemjs

    1.3K00

    每日优鲜供应链前端团队微前端改造

    我们使用的是 0.21 版本的:github.com/systemjs/sy…[6]因为要动态通过 http 引入外部 js,又不影响在开发的时候使用 import、require 方法,所以找到了 systemjs...根据 systemjs 文档说明,我们只需要把子项目打成 umd 格式(umd 糅合了 AMD 和 CommonJS)的包即可动态外部加载。...经过一番调研,同样利用 systemjs 解决了这个问题 // 每个子项目自己的webpack.config.js,根据使用情况设置externals externals: { 'axios...只是在加载 index.html 时注册了这些 CDN 地址,不会直接去加载,当子项目里用到的时候,systemjs 会接管模块引入,systemjs 会去上面注册的 map 中查找匹配的模块,就再动态去加载资源...看 systemjs 源码会发现它重新定义了 require 和 define 方法,所以它能接管 externals 的外部引入过程。

    1.6K20

    每日优鲜供应链前端团队微前端改造

    我们使用的是0.21版本的:github.com/systemjs/sy… 因为要动态通过http引入外部js,又不影响在开发的时候使用import、require方法,所以找到了systemjs来做这件事...根据systemjs文档说明,我们只需要把子项目打成umd格式(umd糅合了AMD和CommonJS)的包即可动态外部加载。...经过一番调研,同样利用systemjs解决了这个问题 // 每个子项目自己的webpack.config.js,根据使用情况设置externals externals: { 'axios'...只是在加载index.html时注册了这些CDN地址,不会直接去加载,当子项目里用到的时候,systemjs会接管模块引入,systemjs会去上面注册的map中查找匹配的模块,就再动态去加载资源。...看systemjs源码会发现它重新定义了require和define方法,所以它能接管externals的外部引入过程。

    1.3K20
    领券