@fibrae/semi-foundation

中文文档
0.7.0发布于 2026/11/14MITES Module构建来源已验证近 30 天下载 2345
中文使用文档
文档目录7 节
  1. 基金会和适应者
  2. 安装
  3. 使用量
  4. 目录
  5. 语言包
  6. 相关软件包
  7. 发展

@fibrae/半创始人

简体中文

Semi Design Next中的框架-不可知部分:组件逻辑(Foundation),SCSS风格,主题符号和地语包. 每个框架的组成部分库都共享。 应用程序通常通过一个UI包使用,而不是直接依赖.

基金会和适应者

每个组件的JavaScript有两个部分,因此可以跨框架再利用:

  • 基金会:持有组件的业务逻辑和参考文献没有DOM. 需要DOM的逻辑授权给适配器.
  • 适配器:一个基金会需要的方法的界面,由每个框架包与其原生机制(如回放钩或Vue可调配器)实施.

这就是为什么软件包依赖于没有框架或UI软件包.

安装

pnpm add @fibrae/semi-foundation

构建插件需要它来解决 semi: 地址,且用户界面软件包已经依赖它.

使用量

此软件包没有根项 。 这个 base, (中文(简体) ), utils 财务报告和审定财务报表 locale 目录各有一个条目来收集目录的出口. 其他模块由深文件路径导入, 将一对一映射到下面的目录中 src/。所有声明都包含类型:

import { BaseFoundation, FocusScope } from '@fibrae/semi-foundation/base';
import InputFoundation from '@fibrae/semi-foundation/components/input/foundation';
import type { Locale } from '@fibrae/semi-foundation/locale';
import { utcToZonedTime } from '@fibrae/semi-foundation/utils/date-fns-extra';

这个 utils 条目不包含日期模块date-fns-extra, (中文(简体) ), date-fns-locale, (中文(简体) ), zoned-time页:1 base 条目删除 base/env通过深道导入它们.

exports 还包括: ./*.css 财务报告和审定财务报表 ./*.scss。组件CSS由 vp pack。发布 .scss 包含 semi: 地址无法由 Sass 直接编译; 它会通过构建插件或 @fibrae/semi-scss-compile。 。 。 .

目录

目录目录
components/每个组件一个目录,包含 foundation.ts, (中文(简体) ), constants.ts 财务报告和审定财务报表 *.scss 视需要variables.scss, (中文(简体) ), mixin.scss 以及仅作为来源的类似船舶)
base/BaseFoundation、普通常数和状态类构成一个基础(重点范围、弹出寿命周期、模式资源等)
utils/无国籍的公用设施: DOM、日期、焦点助手、层堆栈和类似
theme/一个主题:全局符号、调色板和混音器,由组件SCSS通过加载 semi:theme
locale/语言包 Locale 财务报告和审定财务报表 LocaleInput 类型和每个框架共享的地方分辨率

语言包

src/locale/source/ 拿着两个内置包, zh_CN 财务报告和审定财务报表 en_US。每个文件默认导出a Locale。 。 。 . src/locale/index.ts 出口包和 Locale, (中文(简体) ), LocaleInput, (中文(简体) ), LocaleComponentName 财务报告和审定财务报表 LocaleResult 类型,以及从 @fibrae/semi-foundation/locale数字 :

  • code:语言代码. 日期组件从中选择日期 - fns locale(src/utils/date-fns-locale.ts 仅建于zh-CN和en-US;其他来自ConfigProvider的 dateFnsLocale) (中文(简体) ).
  • currency: ISO 4217 货币编码,通过输入号传递到 Intl.NumberFormat。 。 。 .
  • 其他密钥按组件分组,并持有内置文本和可访问名称. 值为 ${name} 是占位符;不要翻译占位符本身.

每个 UI 软件包导出 zh_CN 财务报告和审定财务报表 en_US 从其 locale 输入。 递一个给UI包 LocaleProvider 或者说 ConfigProvider数字 :

import { LocaleProvider } from '@fibrae/semi-ui-react';
import { en_US } from '@fibrae/semi-ui-react/locale';

<LocaleProvider locale={en_US}>
    <App />
</LocaleProvider>;

两家供应商都使用自定义的打包 LocaleInput: 仅 code 需要,每个文本或 currency 它离开来自 en_US。 。 。 . src/locale/resolve-locale.ts 填补每包对象一次的空隙并再利用结果,因此创建了一次包(在模块级别上或被回忆)并取而代之,而不是在原地进行变异.

Vue 软件包 LocaleProvider 名字和名称相同 :locale。关于将文本或无障碍名称添加到两个内置包中,参见 语言文字。 。 。 .

  • 取决于 @fibrae/semi-json-viewer-coreMarkdown、MDX、Lottie和代码的 框架不可知渲染逻辑 也在这里生活.
  • 每个框架的UI包使用, @fibrae/semi-ai-foundation 和AI组件包.

发展

pnpm --filter @fibrae/semi-foundation build 运行 vp pack数字 : src/**/*.ts 按文件发布无害环境管理和类型声明文件,组件SCSS编译到CSS,主题符号编译到 base/tokens.css。UI 包中的类型检查读取此处构建的类型.

一般命令见 捐款额 在寄存器根处。 对于如何写作风格 semi: 进口商和主题符号协议,见 QQ SCSS “, “ Sass QQ 半: 进口商” 和 QQ 符号 样式。 。 。 .

版本与发布记录

@fibrae/semi-foundation 共发布 10 个版本,首次发布于 2026/10/28;过去 12 个月发布了 10 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.7.0latest2026/11/14今天
0.6.02026/11/113 天前
0.5.02026/11/086 天前
0.4.02026/11/077 天前
0.3.12026/11/0410 天前
0.3.02026/11/0212 天前

关于 @fibrae/semi-foundation 的常见问题

如何安装 @fibrae/semi-foundation?

在项目目录运行 npm install @fibrae/semi-foundation,或使用 pnpm add / yarn add / bun add。

@fibrae/semi-foundation 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/fibrae__semi-foundation 是否存在。

@fibrae/semi-foundation 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@fibrae/semi-foundation 可以商用吗?

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

@fibrae/semi-foundation 的下载量有多少?

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

@fibrae/semi-foundation 还在维护吗?

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