Astryx 中文教程:React 19 安装、主题接入与 CLI 使用
Astryx 不是单独的一组无样式组件。它把 150 多个 React 组件、CSS 变量主题、页面模式、模板和 CLI 放在同一套约定里。官方称这套系统在 Meta 内部演进多年,开源版本目前仍标为 Beta。
@astryxdesign/* 包统一到 0.6.2。不要继续沿用旧页面里的 v0.5.4。1. 安装前先检查 React
官方 core README 要求 react 和 react-dom 至少为 19.0.0。老项目如果还在 React 18,先评估升级和现有组件库的兼容性。
npm ls react react-dom
npm install @astryxdesign/core @astryxdesign/theme-neutral @stylexjs/stylex
npm install -D @astryxdesign/cli
普通使用不需要给项目增加 StyleX、PostCSS 或 Babel 构建插件。Astryx 已经发布预构建 CSS 和 JavaScript;@stylexjs/stylex 仍是官方安装命令列出的运行依赖。
2. CSS 顺序不能随便换
把下面三行放入应用的全局 CSS。顺序对应 reset、组件基础样式和主题覆盖层:
@import '@astryxdesign/core/reset.css';
@import '@astryxdesign/core/astryx.css';
@import '@astryxdesign/theme-neutral/theme.css';
然后按照 官方 core README 为框架配置 Theme。Next.js 还需要按示例接入 LinkProvider,不要把别的框架示例原样复制过去。
3. 先用 CLI 查组件,再写代码
npx @astryxdesign/cli component --list
npx @astryxdesign/cli docs theme
npx @astryxdesign/cli swizzle Button
component 和 docs 适合开发者或 Agent 查询当前包的用法。swizzle 会把组件源码复制进项目,之后升级不会自动替你合并这份本地代码,使用前要明确维护责任。
4. 和 Radix Primitives 怎么选
相比 Radix Primitives,Astryx 更接近可直接交付界面的完整设计系统:它有预构建视觉样式、多个主题、模板和 CLI。Radix 官方强调无视觉样式、可组合的交互原语,视觉系统主要由使用方完成。需要统一成品界面时先试 Astryx;需要完全自定义视觉且只要交互基础时,Radix 的边界更清楚。
5. 验证边界
真正接入时至少检查:React 版本、三层 CSS 的加载顺序、明暗主题切换、键盘操作和构建产物。下一次更新本文时,应重新核对 Latest release、core README 的 peer dependencies,以及 charts 是否已经从 canary 转为稳定版。
这里仅补原教程没有展开的事实和边界。安装命令与操作步骤仍以前文为准。
先判断这个项目是否适合你
近期变化与关注原因
这些数值只用于判断持续需求,不能当作去重访客数。官方资料显示它来自 Meta 内部使用多年的设计系统,并把组件、主题、模板和 CLI 一起开放,这比单纯的组件包覆盖面更广。
适合谁用
适合 React 19 项目统一组件、主题和页面模式,也适合希望 Agent 与开发者使用同一套组件文档和 CLI 的团队。若只需要无样式的交互原语,完整设计系统可能偏重。
采用建议
Astryx 适合已经采用 React 19、希望组件、主题、页面模式和 Agent 工具统一的团队。它仍是 Beta,而且实验包与图表包没有稳定发布;先在独立页面验证样式层叠、主题和无障碍行为,再决定是否扩大使用范围。
原教程未展开的系统信息
核心功能
完整组件与模式层
官方 README 列出 150 多个组件,并把基础样式、组件和常用交互模式分层组织;React API 带 TypeScript 类型。
架构与数据流
仓库是 pnpm monorepo:apps 放文档站、Storybook 和示例,packages 放 core、CLI、build 与主题包,internal 放测试和开发工具。使用方通常安装 core、一个主题和 StyleX 运行依赖,按 reset.css、astryx.css、theme.css 的顺序导入预构建样式,再用 Theme 包裹应用。
常见问题
Astryx 对 React 版本有什么要求?
官方 core README 当前要求 React 和 react-dom 19.0.0 或更高;接入旧项目之前应先检查 React 升级成本。
使用 Astryx 必须给项目配置 StyleX 构建插件吗?
普通使用不需要。官方说明 core 包交付预构建 CSS 和 JavaScript;按顺序导入 reset、组件和主题 CSS 即可。
Astryx CLI 可以做什么?
它可以查询组件文档、初始化项目、构建主题、运行升级 codemod,并用 swizzle 把组件源码复制进项目。
Astryx 的 charts 和 lab 包是稳定发布吗?
不是。官方 README 说明 lab 只供仓库内部 Storybook 和 sandbox 使用,不发布到 npm;vega 和 charts 目前只有 canary 标签。