-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
精读《请停止 css-in-js 的行为》 #12
Comments
本文作者最后也说了,他自己是个标题党, 我认为 第一,无论是 第二,作者提到的 第三,就 |
这篇文章表面是在讲 CSS in JS,实际上是 CSS Modules 支持者与 styled-components 拥趸之间的唇枪舌剑、你来我往。 我还记得当年 @camsong 在团队内推 CSS Modules 的时候列举了不少了 CSS 现有的问题,现在能想起来的包括书写繁琐(不支持嵌套)、样式易冲突(没有作用域概念)、缺少变量(不便于一键换主题)等不一而足。 为了解决这些问题,社区里的解决方案也是出了一茬又一茬,从最早的 CSS prepocessor(SASS、LESS、Stylus)到后来的后起之秀 PostCSS,再到 CSS Modules、Styled-Component 等。更有甚者,有人维护了一份完整的 CSS in JS 技术方案的对比,点开链接之前你猜猜现在囊括了多少种技术?截止 2017年05月10日11:33:08,这个数字是 49。 在纷繁的解决方案背后,我们也应该思考一下选择,或者说考虑 CSS in JS 的初衷是什么?最痛的点是什么?选择这项技术之后会不会带来新的问题?目前看来 Styled-Component 并不完美,甚至对常规 Web 开发很不合适(理由 @ascoders 已经给出);即使是 CSS Modules,在团队的实践中也遇到了很多问题(全局样式覆盖困难,写到最后可能一直在用 因此,无论是 CSS Modules,还是 Styled-Component,还是上面那份列表中的另外 47 种方案,在决定使用之前务必要想起楚:你最想解决的问题是什么? |
这篇作者是 react-css-modules 的作者,所以观点会有一些偏颇。但整体上我还是认可的,社区里流行的 从 2014 年 Vjeux 的演讲开始,css-in-js 的轮子层出不穷。终于过了三年,鸡血时期已经慢慢过去,大家开始冷静思考了。 文中提到第1点,
我从15年开始在团队里推行过CSS Modules。总结过它的一系列优点。 如果你过于在乎这些缺点的话建议你直接使用纯 SASS 或 CSS,尤其是 SASS 在现在仍然是很好的选择。 |
灭掉CSS文件这个另类! |
文章地址:https://hackernoon.com/stop-using-css-in-javascript-for-web-development-fa32fb873dcc
The text was updated successfully, but these errors were encountered: