@axis-ds/theme

中文文档
1.8.2发布于 2026/10/26MITTypeScriptESM + CJS构建来源已验证近 30 天下载 1799

AXIS Design System - Theme Provider & Dark Mode

原始使用文档
文档目录5 节
  1. 설치
  2. 사용법
  3. 서버 컴포넌트 (Next.js App Router)
  4. 문서
  5. 라이선스

@axis-ds/theme

AXIS Design System의 테마 프로바이더 및 다크모드 지원 패키지입니다.

설치

npm install @axis-ds/theme
# or
pnpm add @axis-ds/theme

사용법

import { ThemeProvider, useTheme } from '@axis-ds/theme';

export default function App() {
  return (
    <ThemeProvider defaultTheme="system">
      <YourApp />
    </ThemeProvider>
  );
}

서버 컴포넌트 (Next.js App Router)

1.5.0 부터 패키지 전체가 "use client" 모듈이라, 서버 컴포넌트인 app/layout.tsx 에서 ThemeProvider 를 바로 써도 됩니다. 별도 providers.tsx('use client') 래퍼는 필요 없습니다(1.4.0 이하는 서버 컴포넌트가 import 만 해도 createContext is not a function 으로 빌드가 멈춰 래퍼가 필요했습니다. 기존 래퍼는 그대로 둬도 동작합니다).

// app/layout.tsx (서버 컴포넌트)
import { ThemeProvider } from '@axis-ds/theme';

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="ko" suppressHydrationWarning>
      <body>
        <ThemeProvider defaultTheme="system">{children}</ThemeProvider>
      </body>
    </html>
  );
}
  • ThemeProvider 의 props(defaultTheme · storageKey · defaultBrand · brandStorageKey)는 모두 문자열이라 서버에서 넘길 수 있습니다. children 으로 넘긴 서버 컴포넌트는 서버에서 렌더됩니다.
  • useTheme() 은 훅이라 클라이언트 컴포넌트('use client' 파일)에서만 호출합니다. 서버 컴포넌트에서 부르면 Attempted to call useTheme() from the server 오류가 납니다.
  • 이 패키지에는 서버에서 호출할 함수(상수 · 유틸)가 없습니다.

문서

자세한 사용법은 AXIS Design System 문서를 참고하세요.

라이선스

MIT

版本与发布记录

@axis-ds/theme 共发布 16 个版本,首次发布于 2026/02/01;过去 12 个月发布了 16 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.8.2latest2026/10/2613 天前
1.8.12026/10/2513 天前
1.8.02026/10/2514 天前
1.7.02026/10/2514 天前
1.6.22026/10/2514 天前
1.6.02026/10/2415 天前

关于 @axis-ds/theme 的常见问题

@axis-ds/theme 是什么?

AXIS Design System - Theme Provider & Dark Mode

如何安装 @axis-ds/theme?

在项目目录运行 npm install @axis-ds/theme,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=18.0.0)、react-dom(>=18.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@axis-ds/theme 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@axis-ds/theme 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@axis-ds/theme 可以商用吗?

@axis-ds/theme 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@axis-ds/theme 的下载量有多少?

根据 npm 官方下载统计,@axis-ds/theme 在 2026/10/08 – 2026/11/06 这 30 天内被下载 1,799 次,日均约 60 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@axis-ds/theme 还在维护吗?

最新版本 1.8.2 发布于 2026/10/26(13 天前);至今共发布 16 个版本,其中过去 12 个月发布了 16 个;首次发布于 2026/02/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。