我们的团队使用 Material UI 已经有一段时间了,我们很喜欢它。随着 Material UI v5 的发布,我们花时间检查下一步将使用哪种样式解决方案,因为 JSS 已被 MUI 团队放弃。
我们最终关注了Shopify 人员的讨论。他们对造型解决方案进行了非常详细的比较,最终选择了香草精作为他们的选择工具。强大的 TypeScript 支持,以及最重要的零运行时方法,让我们深信不疑。
遗憾的是,MUI 核心团队在决策时并未考虑香草精。
根据他们的文档, Material UI使用户能够使用各种样式解决方案。可以配置在引擎盖下使用的造型引擎,大致如下所述此处。
问题:
与通常的做法相反,我还没有真正尝试过任何实现方面的方法。根据我的理解,这意味着创建类似于mui-styled-engine(包裹情感)和mui-styled-engine-sc(包裹 styled-components)的东西。因为这对我来说似乎很复杂,所以我想我应该先问一下。
我开始使用 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) 运行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)