简介
这是一次尝鲜使用的使用记录。
TL;DR
OpenProps通过强大的Css Variables来构建一致风格的组件(Html片段)
UnoCss,一个性能好,DX好的Atomic Css方案
两者之间的选择:
- 快速Prototyping选择OpenProps
- Pro:简单易用
- Con: 请求多,css variable的维护难易程度见仁见智
- 实际生产使用UnoCss
- Pro:Atomic Css
- Con:Atomic Css
OpenProps
使用
打包产物如下:
但是运行时会有以下请求。
产物优化
可使用postcss-jit-props
使用postcss-jit-props
可以做到按需引入
产物如下:
可以发现以上css variables被自动引入。对应没有使用到的css variables会被purge。
结论
- 参考仓库:
- 纯css variables类的css解决方案。
- 配合postcss-jit-props可做到按需。
- 没有什么槽点,要自定义有自定义且因为纯css variables没什么性能科研
UnoCss
又又又是一个atomic css解决方案
还是那些老生常谈的优点
- 定制化:config file配置
- 按需:基于atomic-css engine的css快捷生成
- @apply的原子化样式应用
- 等等等等。。
结论
- 参考仓库:
- 整体接入流程跟tailwindcss类似,参考官网即可。但是在rollup作为bundler下,启用watch mode,会出现构建产物失败问题。build就没有问题。
- 产物完全按需,性能没话说。tailwindcss、windicss平替。
- 生态工具及其夸张,就怕DX不到位,甚至做了dev inspector和runtime方案
- 文档上做的很好,atomic css就怕记不住一直要翻文档,unocss官网采用了搜索的方式 https://unocss.dev/interactive/?s=font-serif