Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

基于 chunk 加载模式的尝试 #19

Closed
lileilei opened this issue May 14, 2020 · 0 comments
Closed

基于 chunk 加载模式的尝试 #19

lileilei opened this issue May 14, 2020 · 0 comments

Comments

@lileilei
Copy link

作者 mooa 必然是一种很不错的思路,但是如果一个页面同时存在多个应用页面的时候,按照作者思路把对应应用iframe再放到这个聚合页面内也是一个办法。
我根据作者思路尝试了几种基于 chunk lazyload加载渲染的方案

  1. 利用入口app的webpack内部的 require 加载器,按照系统manifest对应关系去加载对应系统的chunk文件和以来的样式和js文件,但是 正如作者所说,每个工程 runtime 文件依赖的不一样导致webpackJsonp 内找不到对应的方法,经测试当一个很干净chunk文件没有runtime依赖的时候是可行的。runtime问题解决,如果用web components 再进行处理就可以满足了

  2. 同样的 iframe 加载一个空的依赖系统的页面,通过iframe通信方式,调用iframe内部lazyload方法最终得到药渲染的组件,然后将其渲染到app页面的某个dom上,当然也遇到了各种问题,比如必须统一 redux的对象,同一个store,等等,需要操作dom的时候window对象问题,nginx需要根据一些前缀 referer 加载不同系统的静态资源等等等等,都需要通过封装来区分是独立运行还是以app 加载方式运行。实验结果很不错,做到了每个新系统只加载一次空白页面,利用隐藏iframe系统的lazyload方法直接调用对应chunk组件,渲染到app 外壳dom上。但这种方式也正如你所说约束太多了,等待webpack5 的模块联邦功能看能否真的做到一劳永逸,期待作者更好的更优秀的文章!!!

@phodal phodal closed this as completed Nov 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants