ClarkXia
ClarkXia
通过自定义插件修改 CssMinimizerPlugin 后报错: ```js module.exports = ({ onGetWebpackConfig }) => { onGetWebpackConfig((config) => { config.optimization .minimizer('CssMinimizerPlugin').tap(([args]) => { return [{ ...args, parallel: true, }]; }); }); }; ```
 获取初始数据在 appConfig 中设置的名称和 ice 中导出的方法命名上有重复,容易造成开发者的困惑和额外的认知成本,建议修复消费初始数据的方式 ### 变更方案 #### 方案 A 直接通过 `import { initialData } from 'ice'` 的方式导入,直接消费 initialData #### 方案 B 直接通过 `import { useInitialData } from 'ice'`...
框架的 postcss 插件依赖 `postcss-preset-env`,默认开启了 stage3 属性 https://preset-env.cssdb.org/features#stage-3 postcss-preset-env 内置了大量插件,需要按需进行依赖以优化框架依赖
- [ ] icejs 1.x 升级提升 - [ ] 提供 icejs 1.x 自动升级的工具 - [ ] 相关插件独立使用的 deprecated 提升,比如 build-plugin-react-app 单独使用场景
- [x] rerender module when props changed - [x] get latest props after load module bundles
## 问题 子应用如果需要权限控制,一般会对 AppRoute 渲染进行劫持: ```js const AuthAppRoute = () => { ... if (hasPermission && !fetchingAuth) { return ; } else { return ; } } ``` 由于每个路由切换都需要请求权限,在请求过程中或者没有权限时,显示无权限。 上述处理在路由切换的时候将会卸载子应用,导致每次应用重新挂载从而重复加载资源,希望官方需要提供类似场景的指引或者相关实现
### 微前端 Keep Alive 方案 微前端架构中的每次应用切换都将会执行上一个微应用的卸载的生命周期,如果想对微应用 Keep Alive 需要进行如下改造: - 微应用切换时不执行 unmount 生命周期 - 将微应用当前渲染的组件实例进行缓存 - 微应用再次渲染时,如果存在缓存内容,则直接通过 DOM 操作渲染缓存组件 #### 方案 针对 icestark 微前端方案在 React 主应用使用场景上封装了 AppRouter 的方式,如果需要一键启用 Keep Alive...
应用间切换由于存在不同的 history 实例,无法直接通过 history.block 方式阻止路由跳转 期望 icestark 提供类似的钩子能够自定义劫持跳转逻辑