alibaba / ice

🚀 ice.js: The Progressive App Framework Based On React(基于 React 的渐进式应用框架)
https://ice.work
MIT License
17.84k stars 2.09k forks source link

Pro 模版下 data-loader 过大 #5577

Closed ClarkXia closed 1 year ago

ClarkXia commented 1 year ago

使用 @ice/antd-pro-scaffold 构建时,打出的 data-loader.js 产物过大

imsobear commented 1 year ago

多大

chenjun1011 commented 1 year ago

多大

350k,把插件的代码构建进去了

chenjun1011 commented 1 year ago

原因是 import { defineDataLoader } from 'ice'; 中 ice,对应的为 .ice/index.js, 而这份文件引入了插件的相关代码,如果插件实现包含了立即执行的逻辑,就无法被 treeShaking 了

解决方案: 通过 redirect imports 能力,将 defineDataLoader 重置为从 @ice/runtime 中引入

chenjun1011 commented 1 year ago

暴露的另一个问题是 plugin-store 是不是过于大了

answershuto commented 1 year ago

多大

it's not just big, it's huge!!!

luhc228 commented 1 year ago

暴露的另一个问题是 plugin-store 是不是过于大了

react-redux 就是这么的大