网易首页 > 网易号 > 正文 申请入驻

Facebook开源StyleX , 在JavaScript中写CSS

0
分享至

Meta(原 Facebook) 开源 了全新的 CSS-in-JS 库 StyleX。

GitHub 地址: https://github.com/facebook/stylex

官方介绍道,StyleX 是一个富有表现力、具有确定性、可靠且可扩展的样式系统。它通过使用编译时 (compile-time) 工具融合了静态 CSS 的性能和可扩展性。

此外,StyleX 不仅仅是一个基于编译器的 CSS-in-JS 库,它经过精心设计,可以满足大型应用程序、可复用组件库和静态类型代码库的要求。Meta 旗下多款产品如 Facebook、WhatsApp、Instagram、Workplace、Threads 等都在使用 StyleX 作为其 CSS 样式解决方案。

StyleX 主要特性

  • 快速:StyleX 在编译时和运行时都具备高效的性能。Babel 转换不会对构建过程产生显著影响。在运行时,StyleX 避免了使用 JavaScript 插入样式的开销,并仅在必要时高效地组合类名字符串。生成的 CSS 经过优化,确保即使是大型网站的样式也能被浏览器快速解析。

  • 可扩展:StyleX 旨在适应像 Meta 这样的超大型代码库。通过原子构建和文件级缓存,Babel 插件能够处理数万个组件在编译时的样式处理。由于 StyleX 设计为封装样式,它允许在隔离环境中开发新组件,并期望一旦在其他组件中使用时能够可预测地呈现。

  • 可预测性:StyleX 会自动管理 CSS 选择器的特异性,以确保生成的规则之间不会发生冲突。它为开发人员提供了一个可靠地应用样式的系统,并确保 “最后应用的样式始终生效”。

  • 类型安全:使用 TypeScript 或 Flow 类型来约束组件接受的样式,每个样式属性和变量都具有完全的类型定义。这有助于提高代码的可读性和可维护性,同时减少潜在的错误和冲突。

  • 样式去重:StyleX 鼓励在同一文件中编写样式和组件。这种方法有助于使样式在长期内更具可读性和可维护性。StyleX 能够利用静态分析和构建时工具来跨组件去重样式,并删除未使用的样式。

  • 可测试性:StyleX 可以配置为输出调试类名,而不是功能性的原子类名。这可以用于生成快照,以便在对设计进行轻微更改时不会经常变化。通过这种方式,开发人员可以更轻松地测试和验证样式的正确性,从而提高开发效率和产品质量。

示例代码

import stylex from '@stylexjs/stylex';

const styles = stylex.create({
root: {
padding: 10,
},
element: {
backgroundColor: 'red',
},
});

const styleProps = stylex.apply(styles.root, styles.element);

下面是一个按钮组件的示例代码

import * as stylex from "@stylexjs/stylex";

const styles = stylex.create({
base: {
appearance: "none",
borderWidth: 0,
borderStyle: "none",
backgroundColor: "blue",
color: "white",
borderRadius: 4,
paddingBlock: 4,
paddingInline: 8,
},
});

export default function Button({
onClick,
children,
}: Readonly<{
onClick: () => void;
children: React.ReactNode;
}>) {
return (
{children}
button>
);
}


相关链接:https://stylexjs.com/blog/introducing-stylex/







特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
细思极恐!6旬夫妻上山拜神失联,救援队:人没了,用浴巾吊在树上

细思极恐!6旬夫妻上山拜神失联,救援队:人没了,用浴巾吊在树上

西莫的艺术宫殿
2024-11-22 21:10:50
性生活对女性健康的多重益处

性生活对女性健康的多重益处

智见派
2024-09-11 11:10:16
除了那张上海户口,除了家里那点地盘,上海还有什么是属于你的?

除了那张上海户口,除了家里那点地盘,上海还有什么是属于你的?

上海云河
2024-11-21 23:02:42
他是强渡乌江的功臣,不满职务离开八路军,毛主席说情:留条活路

他是强渡乌江的功臣,不满职务离开八路军,毛主席说情:留条活路

大海的诺言
2024-10-08 15:04:01
吴谨言老公深夜聚会喝茅台,压抑太久发文语无伦次,心事好重

吴谨言老公深夜聚会喝茅台,压抑太久发文语无伦次,心事好重

懂体育的小吖头
2024-11-21 10:16:33
最高院:小区建成移交后,地下车库所有权使用权是否归全体业主?

最高院:小区建成移交后,地下车库所有权使用权是否归全体业主?

周军律师聊案子
2024-11-22 16:04:06
5亿年前,有只三叶虫被踩了一脚,科学家疑惑:人穿鞋去海底干啥

5亿年前,有只三叶虫被踩了一脚,科学家疑惑:人穿鞋去海底干啥

兔斯基聊科学
2023-07-17 20:28:58
外媒:意总理到访,阿根廷总统米莱送她“奇怪”礼物——以他本人挥舞电锯为造型的手办

外媒:意总理到访,阿根廷总统米莱送她“奇怪”礼物——以他本人挥舞电锯为造型的手办

环球网资讯
2024-11-22 18:20:15
一觉醒来,赖清德天塌了!台又一“友邦”弃暗投明,统一势在必行

一觉醒来,赖清德天塌了!台又一“友邦”弃暗投明,统一势在必行

莫闻初道
2024-11-22 14:39:52
30岁男子网恋3天奔现,同居14天感叹相见恨晚:小女友比前妻懂事

30岁男子网恋3天奔现,同居14天感叹相见恨晚:小女友比前妻懂事

梅子的小情绪
2024-11-20 20:47:28
苹果发布iOS 18.1.1正式版:建议所有iPhone升级

苹果发布iOS 18.1.1正式版:建议所有iPhone升级

中关村在线
2024-11-21 11:37:25
洲际导弹的回应来了

洲际导弹的回应来了

那山星火
2024-11-22 07:51:45
受资助的浙大贫困男生晒国内外旅游照片,并已保研清华?清华回应:已接到举报邮件

受资助的浙大贫困男生晒国内外旅游照片,并已保研清华?清华回应:已接到举报邮件

极目新闻
2024-11-22 17:49:17
苏菲玛索,身高173厘米,被誉为法兰西玫瑰,长得真漂亮!

苏菲玛索,身高173厘米,被誉为法兰西玫瑰,长得真漂亮!

人情皆文史
2024-10-16 00:17:57
体制内“最辛苦岗位”排名!教师第3记者第7,第一名实至名归!

体制内“最辛苦岗位”排名!教师第3记者第7,第一名实至名归!

华人星光
2024-11-14 13:31:25
中餐为啥不能把白酒推向全世界 ?评论区引发万千共鸣!都太敢说了

中餐为啥不能把白酒推向全世界 ?评论区引发万千共鸣!都太敢说了

热闹的河马
2024-10-12 12:16:15
老师为了避嫌能有多拼?网友:大学教授为了避嫌,天天叫老婆来接

老师为了避嫌能有多拼?网友:大学教授为了避嫌,天天叫老婆来接

有趣的火烈鸟
2024-07-28 17:33:18
昔日体操冠军变身性感女主播,奥运冠军怒斥:不要给体操扣屎盆子

昔日体操冠军变身性感女主播,奥运冠军怒斥:不要给体操扣屎盆子

米修体育
2024-11-21 19:55:05
重磅:可控核聚变技术中的最大问题或已解决,核燃料效能可提10倍

重磅:可控核聚变技术中的最大问题或已解决,核燃料效能可提10倍

科普大世界
2024-11-22 16:32:10
越南人忍无可忍!他们为何不去干扰中国,偏要来我们国家?

越南人忍无可忍!他们为何不去干扰中国,偏要来我们国家?

常高俊April工作室
2024-11-20 14:01:06
2024-11-23 07:52:49
开源中国
开源中国
每天为开发者推送最新技术资讯
6605文章数 34299关注度
往期回顾 全部

科技要闻

能者归来,蒋凡重回阿里电商权力中心

头条要闻

俄军首次向乌发射"无法拦截"导弹 美媒:打不到美国

头条要闻

俄军首次向乌发射"无法拦截"导弹 美媒:打不到美国

体育要闻

1年半夺2冠!迈阿密主帅马蒂诺因私人原因辞职

娱乐要闻

受王宝强资助孩子父亲发声

财经要闻

祝宝良:增量政策可使明年GDP增长5%左右

汽车要闻

对话张纯伟:80万!捷途立了一个新Flag

态度原创

家居
旅游
健康
教育
军事航空

家居要闻

线条装饰 打造设计空间感

旅游要闻

莲花山滑雪场向摄影界、新闻界免费开放!

花18万治疗阿尔茨海默病,值不值?

教育要闻

动点杠上系列,新定义问题怕不怕?

军事要闻

俄版"和平方案"披露:乌放弃加入北约

无障碍浏览 进入关怀版