标签: vanilla-extract

使用 vanilla-extract 作为 Material-UI 的样式引擎

一些背景

我们的团队使用 Material UI 已经有一段时间了,我们很喜欢它。随着 Material UI v5 的发布,我们花时间检查下一步将使用哪种样式解决方案,因为 JSS 已被 MUI 团队放弃。

我们最终关注了Shopify 人员的讨论。他们对造型解决方案进行了非常详细的比较,最终选择了香草精作为他们的选择工具。强大的 TypeScript 支持,以及最重要的零运行时方法,让我们深信不疑。

遗憾的是,MUI 核心团队在决策时并未考虑香草精。

手头的问题

根据他们的文档, Material UI使用户能够使用各种样式解决方案。可以配置在引擎盖下使用的造型引擎,大致如下所述此处

问题:

  • 使用 vanilla-extract 是否(概念上)可能且(实用上)合理:
    • 设计 MUI 组件?
    • 使用它作为 MUI 底层的样式引擎?
  • 洒水会在哪里发挥作用?
  • 实施这一方法的具体步骤是什么?
  • 有人已经这样做了,并且愿意分享他们的代码吗?

与通常的做法相反,我还没有真正尝试过任何实现方面的方法。根据我的理解,这意味着创建类似于mui-styled-engine(包裹情感)和mui-styled-engine-sc(包裹 styled-components)的东西。因为这对我来说似乎很复杂,所以我想我应该先问一下。

reactjs material-ui css-in-js vanilla-extract

22
推荐指数
1
解决办法
1661
查看次数

如何使用香草精设计子元素的样式?

我开始使用 vanilla extract 来设计 NextJS 应用程序。有没有什么方法可以在不创建另一个类的情况下设置父元素的子元素样式?

我在反应组件中有这样的结构:

 <ul className={styles.ul}>
   <li>a</li>
   <li>b</li>
   <li>c</li>
 </ul>
Run Code Online (Sandbox Code Playgroud)

样式文件中类似这样的内容:

import { style } from "@vanilla-extract/css"

export const ul = style({
    display: vars.display.flex,
    listStyleType: vars.none,
})
Run Code Online (Sandbox Code Playgroud)

css next.js vanilla-extract

5
推荐指数
2
解决办法
9346
查看次数

构建 React 应用程序时出现“错误:无法将样式分配给文件”

运行npm run build会返回此错误。我相信它在 3-4 个月前运行正常,而且事实上npm run dev运行得很好。我怀疑这与 @vanilla-extract/babel-plugin 的删除要求有关


> wellness-saas@0.1.0 dev
> next dev

ready - started server on 0.0.0.0:3000, url: http://localhost:3000
event - compiled client and server successfully in 672 ms (291 modules)
wait  - compiling...
event - compiled client and server successfully in 68 ms (291 modules)
wait  - compiling / (client and server)...
event - compiled client and server successfully in 72 ms (294 modules)
wait  - compiling /_error (client and server)... …
Run Code Online (Sandbox Code Playgroud)

javascript typescript reactjs next.js vanilla-extract

5
推荐指数
0
解决办法
1127
查看次数