icestark icon indicating copy to clipboard operation
icestark copied to clipboard

:tiger: Micro Frontends solution for large application(面向大型应用的微前端解决方案),站点国内镜像:https://icestark.gitee.io

Results 159 icestark issues
Sort by recently updated
recently updated
newest added

场景 来回切换两个子应用,内存无限上涨 两个子应用都是默认的框架没有任何修改 内存完全完全不会销毁 这种情况要怎么办,用户可能切几次就炸了 是不是因为用的是本地调试的模式,因为没测试过 ``` getApps: async () => { const apps = [ { path: '/app/1', title: '应用1', sandbox: true, umd: true, url: ['http://127.0.0.1:3333/js/index.js', 'http://127.0.0.1:3333/css/index.css'], }, {...

enhancement

看了下项目代码,注意到:`const namespace = 'ICESTARK'` ,这种写法隐患似乎大了点,我们无法预估用户代码,也无法预防潜在注入的风险,似乎应当使用 `const namespace = Symbol('ICESTARK')`。至于兼容性问题,我看到项目其他部分已经用到了 Symbol 内建方法,但是又有几个问题: 1. 当前代码中多个路径(icestark-app、icestark-data 以及 src 中的 util)都分别定义了 `window['ICESTARK']` 进行挂载,且处于不同的包中,这种代码结构导致无法如愿使用。。。 2. 测试部分代码也需要修改,引入唯一定义的 const namespace = Symbol('ICESTARK')。

feature request
discuss

在 Icestark 中,对 css 的处理是通过创建 `` 并插入到 DOM 中,并在微应用卸载的时候进行移除。这导致主应用在进行 dynamic import 时的一些处理,未被 icestark 标记到,从而被移除。

bug
help wanted
discuss

构建结果为: ```text - modules - assets - abc.svg - moduleA - index.js - index.css ``` index.css 中引用的结果为 `__webpack_public_path__/assets/abc.svg` 正确的路径应该为 `__webpack_public_path__/modules/assets/abc.svg`

bug

应用间切换由于存在不同的 history 实例,无法直接通过 history.block 方式阻止路由跳转 期望 icestark 提供类似的钩子能够自定义劫持跳转逻辑

discuss

icestark 2.x 以及微模块,除了 icestark 内置的 [应用间通信](https://ice.work/docs/icestark/guide/interaction) 方案,还支持通过 props 的方式进行通信,如: ```js ... useEffect(() => { return createMicroApp({ name: 'microApp', props: { title: '向下传递的参数' } }) }, []) ``` 微模块的使用方式如下: ```js function...

enhancement

将部分缓存数据借助 LRU 等算法优化

enhancement

**What is the expected behavior?** hash 模式下,appHistory 的使用方式 ```js appHistory.push('/seller'); ```

enhancement