有没有可能在开发时写 Tailwind CSS,在提交代码前转换成带嵌套关系的 Sass?

2022-07-31 14:20:01 +08:00
 CoolSpring
背景:
我在自己的 hobby project 中习惯使用 Tailwind CSS 和 UnoCSS ,觉得开发效率很高,但在工作中需要遵循组内规范使用 Sass 。那么,有没有可能先用原子化 CSS 的写法进行开发,但在 git commit 前用工具转换成 Sass/Less ?

设想的工作流:
先把样式统统写在 class 里,然后用一个 CLI 工具转换,或者用一个 VSCode 插件“重构”。得到的结果是源文件中 JSX 或模版里的长串 class 名被替换成单个随机名称(后续按照其用途人工重命名),并生成一份对应的带嵌套层级的 sass/less 文件。

概括需求:
想一个英文宣传语就是:Write in "Atomic CSS" way, convert to nested CSS before you commit.
是否已有此类型的工具?如果没有,开发一个有意义和技术上的可能性吗?

相似但不太一样的方案:
1. 了解到 Windi CSS 有一个 Compilation Mode https://windicss.org/posts/modes.html#compilation-mode ,能把一串 class 转化为形如“windi-15wa4me”的单个 class 名,但它这个应该是在编译时生成的产物中出现,而我希望在开发时提交组件的源代码到 GitLab 前就做转换。
2. Tailwind CSS 有 shortcuts ,Sass 有 apply ,但这两者都需要在项目里额外配置 Tailwind CSS ,并且也没那么方便进行“一把梭”了,和这个想法的初衷不符。
2019 次点击
所在节点    CSS
3 条回复
estk
2022-07-31 14:33:15 +08:00
tailwind 写多了也复杂,还是项目开始前把整套 UI 规范定义好,用自己定义的样式,不过这个需要前期花很多时间,有时候老板等不及
rioshikelong121
2022-07-31 16:18:24 +08:00
修改组内规范。
whitegerry
2022-07-31 17:17:29 +08:00
找了好久 tailwind 的 Compilation Mode ,原来 windi 有这个方案。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/869771

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX