mini-program-tailwind icon indicating copy to clipboard operation
mini-program-tailwind copied to clipboard

提供分包样式隔离功能?

Open wcywxq opened this issue 2 years ago • 5 comments

在小程序中有很多分包场景,那么我们是否可以不需要把所有样式全部打入主包?而是自定义配置来决定打入分包还是主包呢?从而避免因主包体积受限造成包体积超额等问题,当然这种问题一般对于css来讲无关紧要,但是如果可以,样式分场景打包输出是很关键的内容。这个问题其实一直都是比较核心的问题,因为目前在社区还没有发现类似的功能实现,希望可以提供类似的解决方案

wcywxq avatar May 26 '22 09:05 wcywxq

感谢你的想法和场景分析 我理解大概的原理是如图所示,通过分析 Tailwind/Windi CSS 生成的样式是从哪一个包的 page templates 中被使用的,从而将被这个包里所有的页面/组件使用到的样式分离并打包进该普通分包/独立分包的入口页面的样式文件内?

  graph TD
    A[Tailwind/Windi CSS 产物] -->|分解| B(package A)
    A[Tailwind/Windi CSS 产物] -->|分解| C(package B)
    B -->|注入分解的样式到 pages 数组中第一个页面| D(page A)
    D -->|影响到其余页面的样式| E(page B)
    D -->|影响到其余页面的样式| F(page C)
    D -->|影响到其余组件的样式| G(component D)
    C -->|同理| H(page E)
    H --> I(...)
    H --> J(...)
    H --> K(...)

ItsRyanWu avatar May 27 '22 07:05 ItsRyanWu

您的理解是没有问题的,我们之前也是做了类似的功能,不过是基于产物来实现的,感觉比较有局限性,您这边的插件化方案比较贴合大众需求,所以希望能提供一个这样的功能

wcywxq avatar May 27 '22 07:05 wcywxq

您的理解是没有问题的,我们之前也是做了类似的功能,不过是基于产物来实现的,感觉比较有局限性,您这边的插件化方案比较贴合大众需求,所以希望能提供一个这样的功能

收到你的需求,对于团队协作来说这的确是一个待解决的刚需问题,我会研究下如何实现。 也请有类似需求的人看到这条 issue 后留下你们的想法。

ItsRyanWu avatar May 27 '22 08:05 ItsRyanWu

+1,小程序主包的体积确实是寸土寸金

bluescurry avatar Aug 04 '22 15:08 bluescurry

确实,尤其是使用uniapp后,主包每多用1kb都要斤斤计较

zhtyytg avatar Aug 05 '22 01:08 zhtyytg