material-ui 关于Pigment CSS使用的疑问

mutmk8jj  于 4个月前  发布在  Pig
关注(0)|答案(4)|浏览(75)

相关页面

https://mui.com/blog/introducing-pigment-css

问题类型

缺少信息

问题描述

抱歉,如果这不是讨论这个问题的最佳地点,我不知道该去哪里。如果你有更好的地方,请告诉我!:)我的团队有非常特定的使用material-ui的方式,我们将组件暴露给TypeScript和Dart使用。Pigment似乎依赖于源代码转换,这对我们的TypeScript消费者来说很好,但可能对我们的Dart消费者来说是一个硬性障碍,除非我们能够用自定义的dart构建步骤提供类似的功能。
所以问题是:

  1. Pigment将成为未来使用mui-material的唯一方式吗?还是它将成为一个可选的依赖项?也就是说,在Pigment之后,我们是否可以继续使用emotion作为我们的sx和样式化引擎?
  2. 是否有计划在某个时候放弃对Emotion的支持?如果没有,留在Emotion上会有什么缺点?
  3. 在Emotion下,sx是否将继续在material-ui组件上工作,即使没有Pigment的源代码转换?
  4. 是否有可能使用Pigment的其他方法,而不需要源代码转换?

上下文

  • 无响应*
    搜索关键词: pigment, css-in-js, emotion, css
pkwftd7m

pkwftd7m1#

嘿,@kealjones-wk,感谢提出这个问题!我可以解答其中的一些疑问:

  1. 不支持!对于Material UI v6,Pigment CSS将是可选的。Emotion将继续为那些不想使用它的人提供服务。

  2. 目前没有计划。据我所知,最大的缺点就是无法获得与Pigment(由于零运行时特性)相关的性能改进和React服务器组件兼容性。

  3. 是的,DX应该基本相同。sx属性应该保留在那里。

  4. 标记@brijeshb42,以便他能帮助解决这个问题,并检查其他所有事情😄

prdp8dxp

prdp8dxp2#

在@danilo-leal的回答基础上,对于第4点,目前还没有。Pigment CSS需要源代码转换来提取CSS并使捆绑包大小更小。
我们确实有一个计划在未来将Pigment作为默认的运行时CSS-in-JS(内部可能会继续使用Emotion),如果你配置了你的bundler,它会执行CSS提取。
所以你们这边应该不用担心。

zqdjd7g9

zqdjd7g93#

这并不是我们计划要做的事情,但对于第4点,我主要好奇的是,如果在运行时执行Pigment的css函数,是否真的需要将其删除,或者它是否会返回正确的className?

vxf3dgd4

vxf3dgd44#

目前,有一个很小的运行时,但仅适用于 styled 调用。其他所有导出仅在构建时存在,并在运行时用字符串替换。因此,如果不进行转换,它们将不可调用。

相关问题