为什么我在 JavaScript 中编写 CSS

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

我永远不会告诉你,在 CSS(或某些语法预处理器)中编写 CSS 是一个坏主意。我认为,无需任何工具,你就可以获得完美的生产力和性能。但是,我也认为,**对于在任何情况下都使用 JavaScript 构建所有组件的代码库中的基于组件的样式来说,在 JavaScript 中编写 CSS 是一个好主意。**

在这篇文章中,Max Stoiber 侧重于**为什么**要在 JavaScript 中编写 CSS 而不是**如何**编写 CSS。其中一个原因与我产生了强烈的共鸣,那就是**信心**。这就是对我而言样式信心的含义。

  • 团队中的任何成员都可以处理组件的样式,而无需担心任何意外的副作用。
  • 没有压力需要想出完美的名称,这些名称现在和将来都能使用。
  • 不用担心样式需要极度可重用,或者它们与其他任何内容都能很好地配合使用。这些样式只会在需要时使用,而不是在任何其他时间。
  • 代码库中样式放置的位置有一个明显的标准。
  • JavaScript 中的 CSS 并不是解决这些问题的唯一答案,但正如 Max 与主题的其他文章相连接一样,它可以导致自然发生良好选择的情况。

    有一些原因是我**不认同**的。性能就是其中之一,比如选择 CSS-in-JS 就是某种自动的性能提升。问题的一部分(我在这里也犯了同样的错误)是 CSS-in-JS 是一系列广泛的解决方案。我**通常**发现 CSS-in-JS 并没有带来很大的性能提升(更有可能是相反的),但如果我们讨论的是像 CSS 模块这样的东西,其中样式被提取并像任何其他 CSS 一样链接起来,那么这就不相关了。

    直接链接 →