精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Facebook開源StyleX如何在JavaScript中寫CSS呢?

OSC開源社區 ? 來源:OSC開源社區 ? 2023-12-14 10:03 ? 次閱讀

Meta(原 Facebook)開源了全新的 CSS-in-JS 庫 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 (
    
  );
}






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • javascript
    +關注

    關注

    0

    文章

    514

    瀏覽量

    53654
  • CSS
    CSS
    +關注

    關注

    0

    文章

    108

    瀏覽量

    14291
  • 選擇器
    +關注

    關注

    0

    文章

    105

    瀏覽量

    14465
  • 靜態分析
    +關注

    關注

    1

    文章

    36

    瀏覽量

    3866

原文標題:Facebook開源StyleX , 在JavaScript中寫CSS

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Arm新Arm Neoverse計算子系統(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    Arm宣布了兩款新的Arm Neoverse計算子系統(CSS),它們基于“迄今為止最好的一代Neoverse技術”。是什么讓這些新產品在擁擠的計算技術領域脫穎而出? Arm的兩個新Arm
    的頭像 發表于 04-24 17:53 ?829次閱讀
    Arm新Arm Neoverse計算子系統(<b class='flag-5'>CSS</b>):Arm Neoverse <b class='flag-5'>CSS</b> V3和Arm Neoverse <b class='flag-5'>CSS</b> N3

    何在TC264/TC377使用FOC

    何在TC264/TC377使用FOC?GTMMOLD 的相關配置實在太過了混亂了,實在有看不到,沒有什么相關的中文資料或者開源代碼可供參考。
    發表于 01-19 07:59

    javascript屬于前端嗎

    和動態性。 JavaScript通常被認為是前端開發的基礎。前端開發包括網頁的設計和開發,以及通過HTML、CSSJavaScript來實現網頁的用戶界面和交互。HTML負責定義網頁的結構,
    的頭像 發表于 12-03 11:43 ?1239次閱讀

    javascript規定了幾種語言類型

    JavaScript是一種強大的編程語言,主要用于在網頁上實現動態的交互效果和功能。它不僅可以與HTML和CSS配合使用來構建網頁,還可以用于開發各種類型的應用程序,包括網絡應用程序、桌面應用程序
    的頭像 發表于 12-03 11:37 ?667次閱讀

    javascript的變量可以包含

    JavaScript是一種強大的編程語言,廣泛應用于網頁開發和動態網頁交互。作為一種靈活的語言,JavaScript允許開發人員聲明和操作各種類型的變量。在JavaScript,變量
    的頭像 發表于 12-03 11:34 ?611次閱讀

    怎樣開啟javascript功能

    JavaScript是一種客戶端腳本語言,它可以在網頁實現動態交互和功能增強。在現代網頁開發,幾乎所有的瀏覽器都支持JavaScript,因此,開啟
    的頭像 發表于 12-03 11:13 ?3020次閱讀

    JavaScript的用途和功能

    開發中發揮著非常重要的作用,并為用戶提供了更為豐富的使用體驗。下面我們將詳細討論JavaScript的用途和功能。 首先,JavaScript用于網頁開發的動態內容。通過使用JavaScri
    的頭像 發表于 12-03 11:12 ?711次閱讀

    javascript指什么

    JavaScript是一種高級編程語言,通常用于為網頁添加交互功能。它是一種面向對象的語言,旨在通過編寫代碼來控制網頁的行為,使用戶能夠與網頁進行動態交互。JavaScript能夠與HTML和CSS
    的頭像 發表于 12-03 11:11 ?692次閱讀

    javascript:;怎么解決

    javascript:” 是一個JavaScript偽協議,它通常出現在URL地址欄或鏈接,用于執行JavaScript代碼。然而,有時它可能會導致一些問題,特別是在一些不支持
    的頭像 發表于 11-26 14:39 ?6208次閱讀

    瀏覽器怎么打開javascript

    瀏覽器是一種用于瀏覽和訪問互聯網頁面的應用程序,而JavaScript是一種常用的網頁編程語言,用于給網頁添加交互和動態效果。本文將詳細探討如何在瀏覽器打開JavaScript,并解
    的頭像 發表于 11-26 11:25 ?2015次閱讀

    瀏覽器支持javascript怎么設置

    瀏覽器是我們上網沖浪的工具,而JavaScript是一種廣泛使用的腳本語言,可以在網頁添加交互性和動態性。因此,確保瀏覽器正確支持JavaScript是非常重要的。 首先,我們需要理解什么是瀏覽器
    的頭像 發表于 11-26 11:22 ?1219次閱讀

    js如何在控制臺輸入輸出

    ,我們來看如何在控制臺中進行輸出操作。在JavaScript,使用console.log()方法來在控制臺輸出
    的頭像 發表于 11-26 11:17 ?2386次閱讀

    javascript深入淺出

    。它最初被設計為在瀏覽器運行,用于實現網頁的交互效果和動態功能。隨著Node.js的出現,JavaScript也可以在服務器端運行。 JavaScript基本語法 JavaScript
    的頭像 發表于 11-16 10:34 ?2113次閱讀

    javascript可以關閉嗎

    **JavaScript是一種編程語言,它不能被“關閉”。**JavaScript是一種客戶端腳本語言,它通常嵌入在HTML頁面。當用戶訪問一個包含JavaScript的網頁時,瀏覽
    的頭像 發表于 11-16 10:20 ?1048次閱讀

    javascript怎么開啟

    在瀏覽器啟用 JavaScript 的方法如下: 在瀏覽器啟用 JavaScript 對于大多數瀏覽器,您可以在瀏覽器的設置或選項啟用
    的頭像 發表于 11-16 10:16 ?1607次閱讀