# @brumaombra/ui-vintage 中文文档

规范地址：https://npmcn.com/package/%40brumaombra/ui-vintage/

版本：0\.9\.48
npm 元数据更新时间：2026-11-08T08:00:06.060Z
中文译文更新时间：2026-11-08T16:39:24.273Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40brumaombra/ui-vintage
原文对照：https://npmcn.com/package/%40brumaombra/ui-vintage/?lang=original
项目主页：https://github.com/brumaombra/ui-vintage#readme
源码仓库：https://github.com/brumaombra/ui-vintage

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：971 kB，462 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：8 个
- peer 依赖：vue ^3\.5\.0，nuxt ^4\.0\.0，vue-i18n ^9\.0\.0 \|\| ^10\.0\.0 \|\| ^11\.0\.0，@nuxt/image ^2\.0\.0，tailwindcss ^4\.0\.0，@nuxt/content ^3\.0\.0，@hugeicons/vue ^1\.0\.0，@hugeicons/core-free-icons ^4\.3\.0
- 首次发布：2026-04-08T16:43:45.928Z
- 最新版本发布：2026-11-08T08:00:05.795Z
- 近 30 天下载量：7414（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：80（近 12 个月 80 个）

## 中文简介

来源出版的 Nuxt UI 运行时带有共享的主题符和内置的 Nuxt 集成.

## 安装

```sh
npm install @brumaombra/ui-vintage
```

也可以使用：`pnpm add @brumaombra/ui-vintage`、`yarn add @brumaombra/ui-vintage`、`bun add @brumaombra/ui-vintage`

## README

[![UI Vintage: source-published Nuxt 4 components with a retro soul](https://npmcn.com/package/%40brumaombra/ui-vintage/docs/images/banner-light.webp)](https://github.com/brumaombra/ui-vintage)  
  

**浅而暗的主题** • 妇女 **9个内地** • 妇女 **reka UI 上的可访问原始**

[![npm version](https://img.shields.io/npm/v/@brumaombra/ui-vintage?style=flat-square&color=F7931E&label=npm)](https://www.npmjs.com/package/@brumaombra/ui-vintage) [![npm downloads](https://img.shields.io/npm/dm/@brumaombra/ui-vintage?style=flat-square&color=1C2029)](https://www.npmjs.com/package/@brumaombra/ui-vintage) ![Nuxt 4](https://img.shields.io/badge/Nuxt-4-00DC82?style=flat-square&logo=nuxt&logoColor=white) ![Vue 3.5](https://img.shields.io/badge/Vue-3.5-42B883?style=flat-square&logo=vue.js&logoColor=white) ![Tailwind CSS v4](https://img.shields.io/badge/Tailwind_CSS-v4-38BDF8?style=flat-square&logo=tailwindcss&logoColor=white) [![MIT license](https://img.shields.io/badge/license-MIT-1C2029?style=flat-square)](https://npmcn.com/package/%40brumaombra/ui-vintage/LICENSE)

[**安装**](https://npmcn.com/package/%40brumaombra/ui-vintage/#readme-installation) • 妇女 [**使用量**](https://npmcn.com/package/%40brumaombra/ui-vintage/#readme-usage) • 妇女 [**显示大小写**](https://npmcn.com/package/%40brumaombra/ui-vintage/#readme-showcase) • 妇女 [**构成部分**](https://npmcn.com/package/%40brumaombra/ui-vintage/#readme-components) • 妇女 [**他们**](https://npmcn.com/package/%40brumaombra/ui-vintage/#readme-theming) • 妇女 [**组件目录**](https://npmcn.com/package/%40brumaombra/ui-vintage/COMPONENTS.md) • 妇女 [**软件**](https://npmcn.com/package/%40brumaombra/ui-vintage/#readme-demo-app)

  
![The UI Vintage demo app: dashboard shell, hero with animated highlight, stat cards, and live preview](https://npmcn.com/package/%40brumaombra/ui-vintage/docs/images/hero-light.webp)

## 为什么UI Vintage

UI Vintage是一个Nuxt 4模块和组件库,用于仪表板,表格,登陆页,覆盖,以及博客,它们应该看起来和感觉像一个产品. 它会给你一些低级原始(按钮,输入,选择,对话框,分页)和完整的构件(dashboard和落地贝壳,stat卡,数据表,一个完整博客),共享一组主题符号和一个运动词汇.

-   **来源出版.** 货包装有它的Vue和TypeScript源. 您的 Nuxt app 将它与您的代码一起编译, 所以没有单独的建筑文物 和每一个 Nuxt 集成(`NuxtImg`, (中文(简体) ), `#components`继续工作.
-   **明确进口.** 每一个组成部分都生活在自己的后路,例如: `@brumaombra/ui-vintage/button`没有什么是自动注册的,所以你的依赖 保持明显的和可动摇的树.
-   **默认可访问.** 互动原始人建立在 [Reka 用户界面](https://reka-ui.com/),在键盘支持下,重点管理和ARIA接线也包括在内.
-   **尊重他人的动机.** 泉水是纯净的CSS `linear()` 放松,每部动画在用户喜欢减少运动时会倒闭.
-   **比原始人还要多.** 基于承诺的对话和土司,仪表板和落地贝壳,数据表,一个完整的"Nuxt Content"博客,9个地块,以及一个可安装的有离线页面的应用程序.
-   **准备好AI编码代理.** 生成的组件目录( E)[`COMPONENTS.md`](https://npmcn.com/package/%40brumaombra/ui-vintage/COMPONENTS.md))和代理指令([`AGENTS.md`](https://npmcn.com/package/%40brumaombra/ui-vintage/AGENTS.md)货包里面的船.

## 安装

在已有的 Nuxt 4 app 中安装软件包的对等集成 。 样式表由Tailwind CSS v4所构建,组件使用Vue I18n作为标签,图标出自大相通:

```bash
npm install @brumaombra/ui-vintage @nuxt/image @nuxtjs/i18n tailwindcss @tailwindcss/vite @hugeicons/core-free-icons @hugeicons/vue
```

注册模块 Nuxt I18n 和 Tailwind Vite 插件 `nuxt.config`数字 :

```js
import tailwindcss from '@tailwindcss/vite';

export default defineNuxtConfig({
    modules: [
        '@brumaombra/ui-vintage',
        '@nuxtjs/i18n'
    ],

    vite: {
        plugins: [
            tailwindcss()
        ]
    },

    i18n: {
        defaultLocale: 'en',
        locales: [{ code: 'en', language: 'en-US' }]
    }
});
```

就是这样:模块注入共享样式表,将源添加到 Nuxt 转录中,安装 `@nuxt/image` 当您的应用程序尚未注册时,将库信件合并到您的 i18n 设置中。 组件调用 `useI18n()`,所以即使是单语言应用程序也需要i18n设置. 使用博客或内容组件? 安装 `@nuxt/content` 我也一样.

## 使用量

### 使用组件

从他们的公共子路径导入组件 :

```vue
<script setup>
import { Button } from '@brumaombra/ui-vintage/button';
import { SingleValueCard } from '@brumaombra/ui-vintage/single-value-card';
import Money03Icon from '@hugeicons/core-free-icons/Money03Icon';
</script>

<template>
    <SingleValueCard label="Revenue" :value="48290" :icon="Money03Icon" :trend="12.4" trend-label="vs last month"
        :format-options="{ style: 'currency', currency: 'EUR', maximumFractionDigits: 0 }" />

    <Button variant="primary">Save changes</Button>
</template>
```

### 询问、确认和通知

对话、土司和繁忙的叠加 开始使用,所以你从来不把它们放在布局上:

```js
import { showConfirmDialog } from '@brumaombra/ui-vintage/confirm-dialog';
import { showMessageToast } from '@brumaombra/ui-vintage/message-toast';
import { setBusy } from '@brumaombra/ui-vintage/busy-indicator';

// Resolves true or false with the user's choice
const confirmed = await showConfirmDialog({
    title: 'Delete project?',
    message: 'This action cannot be undone.',
    confirmButtonType: 'red'
});

if (confirmed) {
    // Keep the shared loading overlay visible while the request runs
    setBusy(true, { label: 'Deleting project...' });
    await deleteProject();
    setBusy(false);

    showMessageToast({ type: 'success', title: 'Project deleted', message: 'Everything was removed.' });
}
```

## 显示大小写

每个截图都来自 [演示应用](https://npmcn.com/package/%40brumaombra/ui-vintage/#readme-demo-app),每个都遵循您的 GitHub 主题(轻或暗).

<table><tbody><tr><td><img alt="Buttons in primary, secondary, ghost, link, and tone variants, with sizes, icon buttons, and a disabled state" src="https://npmcn.com/package/%40brumaombra/ui-vintage/docs/images/buttons-light.webp" width="100%" loading="lazy" decoding="async" referrerpolicy="no-referrer"><p><b>按钮</b><br><sub>变体、音调、大小、图标按钮和状态</sub></p></td><td><img alt="Text fields with validation, a textarea with a counter, and date and time pickers" src="https://npmcn.com/package/%40brumaombra/ui-vintage/docs/images/forms-light.webp" width="100%" loading="lazy" decoding="async" referrerpolicy="no-referrer"><p><b>表单</b><br><sub>有校验、计数器以及取出日期和时间的字段</sub></p></td></tr><tr><td><img alt="Data table with selection, status badges, sorting, and pagination" src="https://npmcn.com/package/%40brumaombra/ui-vintage/docs/images/data-table-light.webp" width="100%" loading="lazy" decoding="async" referrerpolicy="no-referrer"><p><b>数据表</b><br><sub>已打入的列、 选择、 动画排序和页码</sub></p></td><td><img alt="Stat cards with trends, a stat strip, and an animated total" src="https://npmcn.com/package/%40brumaombra/ui-vintage/docs/images/stats-light.webp" width="100%" loading="lazy" decoding="async" referrerpolicy="no-referrer"><p><b>数量</b><br><sub>稳定卡 紧凑的 Stat 条和数数</sub></p></td></tr><tr><td><img alt="A stack of success, info, and warning toasts fanned out in the corner" src="https://npmcn.com/package/%40brumaombra/ui-vintage/docs/images/toasts-light.webp" width="100%" loading="lazy" decoding="async" referrerpolicy="no-referrer"><p><b>土司</b><br><sub>堆起起的烤面包 在徘徊中被刮去</sub></p></td><td><img alt="A destructive confirm dialog asking to delete three invoices" src="https://npmcn.com/package/%40brumaombra/ui-vintage/docs/images/dialog-light.webp" width="100%" loading="lazy" decoding="async" referrerpolicy="no-referrer"><p><b>确认对话框</b><br><sub>与 Aync 处理器基于承诺的对话</sub></p></td></tr><tr><td><img alt="The blog home with an announcement, a highlighted title, stats, and the featured carousel" src="https://npmcn.com/package/%40brumaombra/ui-vintage/docs/images/blog-light.webp" width="100%" loading="lazy" decoding="async" referrerpolicy="no-referrer"><p><b>博客家</b><br><sub>装有统计器的英雄头和有特色的旋转木马</sub></p></td><td><img alt="A blog post header with breadcrumbs, labelled details, tags, and the cover image" src="https://npmcn.com/package/%40brumaombra/ui-vintage/docs/images/post-light.webp" width="100%" loading="lazy" decoding="async" referrerpolicy="no-referrer"><p><b>博客文章</b><br><sub>贴有标签的细节、标签和共享边栏的邮页</sub></p></td></tr></tbody></table>

## 构成部分

每个切入点,按目录分类。 每个名称也是它的导入子路径, 例如 `@brumaombra/ui-vintage/data-table`。 。 。 .

| 类别 | 入境点 |
| --- | --- |
| **行动** | `button`, (中文(简体) ), `dropdown-menu`, (中文(简体) ), `kbd`, (中文(简体) ), `load-more-button`, (中文(简体) ), `text-link`, (中文(简体) ), `toggle-group` |
| **表单** | `calendar`, (中文(简体) ), `checkbox`, (中文(简体) ), `combobox`, (中文(简体) ), `date-picker`, (中文(简体) ), `date-time-picker`, (中文(简体) ), `field`, (中文(简体) ), `file-dropzone`, (中文(简体) ), `input`, (中文(简体) ), `label`, (中文(简体) ), `native-select`, (中文(简体) ), `number-field`, (中文(简体) ), `pin-input`, (中文(简体) ), `radio-group`, (中文(简体) ), `select`, (中文(简体) ), `slider`, (中文(简体) ), `slider-form-component`, (中文(简体) ), `switch`, (中文(简体) ), `switch-form-component`, (中文(简体) ), `tags-input`, (中文(简体) ), `textarea`, (中文(简体) ), `time-picker` |
| **数据显示** | `animated-number`, (中文(简体) ), `avatar`, (中文(简体) ), `badge`, (中文(简体) ), `card`, (中文(简体) ), `card-grid`, (中文(简体) ), `chip`, (中文(简体) ), `data-list`, (中文(简体) ), `data-table`, (中文(简体) ), `info-card`, (中文(简体) ), `line-chart`, (中文(简体) ), `progress`, (中文(简体) ), `progress-component`, (中文(简体) ), `scroll-area`, (中文(简体) ), `separator`, (中文(简体) ), `single-value-card`, (中文(简体) ), `skeleton`, (中文(简体) ), `stat-strip`, (中文(简体) ), `table` |
| **导航** | `accordion`, (中文(简体) ), `breadcrumb`, (中文(简体) ), `collapsible`, (中文(简体) ), `pagination`, (中文(简体) ), `sidebar`, (中文(简体) ), `stepper`, (中文(简体) ), `tabs` |
| **重叠** | `alert-dialog`, (中文(简体) ), `command`, (中文(简体) ), `dialog`, (中文(简体) ), `hover-card`, (中文(简体) ), `popover`, (中文(简体) ), `sheet`, (中文(简体) ), `tooltip` |
| **反馈** | `alert`, (中文(简体) ), `busy`, (中文(简体) ), `busy-indicator`, (中文(简体) ), `confirm-dialog`, (中文(简体) ), `cookie-consent`, (中文(简体) ), `empty-state-card`, (中文(简体) ), `loading-state-card`, (中文(简体) ), `message-dialog`, (中文(简体) ), `message-toast`, (中文(简体) ), `spinner` |
| **布局和应用程序外壳** | `background-grid`, (中文(简体) ), `dashboard-shell`, (中文(简体) ), `error-page`, (中文(简体) ), `landing`, (中文(简体) ), `landing-content`, (中文(简体) ), `landing-footer`, (中文(简体) ), `landing-navbar`, (中文(简体) ), `landing-shell`, (中文(简体) ), `language-flag`, (中文(简体) ), `language-selector`, (中文(简体) ), `page-header`, (中文(简体) ), `theme-selector` |
| **内容和博客** | `blog`, (中文(简体) ), `content` |
| **公用事业和类型** | `common-types`, (中文(简体) ), `utils` |

### 组件目录

[`COMPONENTS.md`](https://npmcn.com/package/%40brumaombra/ui-vintage/COMPONENTS.md) 记录每个入口:其导入行、道具和默认、事件、槽、帮助者和示例。 它来自源和软件包内的船只,所以你的应用程序总是可以读取它安装的版本 `node_modules/@brumaombra/ui-vintage/COMPONENTS.md`。 。 。 .

### 使用 AI 编码代理的 UI Vintage

货船 [`AGENTS.md`](https://npmcn.com/package/%40brumaombra/ui-vintage/AGENTS.md), 一套短指令, 教编码代理重用 UI Vintage : 在写入 UI 之前读取目录, 选择正确的组件, 遵循库常规, 并检查结果 .

从应用程序自己的指令文件中指向您的代理, 所以它总是读取您安装的版本 :

-   **代码、光标、 GitHub 副驾驶、双子座和其他读取工具 `AGENTS.md`数字 :** 将此行添加到 `AGENTS.md` 在您的应用程序的根 :
    
    ```md
    Before writing UI, read and follow node_modules/@brumaombra/ui-vintage/AGENTS.md.
    ```
    
-   **克劳德代码 :** 在您的应用程序中导入 `CLAUDE.md`数字 :
    
    ```md
    @node_modules/@brumaombra/ui-vintage/AGENTS.md
    ```
    

说明书和带包的目录更新都一样,所以你再也不用复制了.

## 他们

### 键和暗模式

样式表定义了语义符号(`background`, (中文(简体) ), `foreground`, (中文(简体) ), `card`, (中文(简体) ), `primary`, (中文(简体) ), `muted`, (中文(简体) ), `border`,以及更多)用于两个主题. 暗模式遵循 `.dark` 课开始 `<html>`· ; `ThemeSelector` 为你设置,有光线、黑暗和自动模式。 扩展应用程序样式表中现有的 CSS 自定义属性, 而不是创建第二个符号系统 .

全页使用一个字体,即 `--font-mono` 符号(默认的系统单空),所以 `font-mono` 元素匹配文本。 在应用程序的任意样式表中设置您自己的一次 :

```css
:root {
    --font-mono: 'JetBrains Mono', monospace;
}
```

### 品牌颜色

品牌颜色(按钮,焦点环,所选状态,侧边栏等)出自6个令牌,因此一个app可以在自己的样式表中替换默认的橙色,用于两个主题:

```css
:root {
    --uv-primary-light: #c62d3a;
    --uv-primary-hover-light: #ad2230;
    --uv-primary-foreground-light: #ffffff; /* Text on the brand color */
    --uv-primary-dark: #ef5b67;
    --uv-primary-hover-dark: #f47d86;
    --uv-primary-foreground-dark: #260609;
}
```

库的默认没有具体性,所以无论风格表的顺序如何,这些都赢得了. 要改变运行时的颜色( 每个客户一个主题, 每个模式, 每个选定项目), 请在以下属性下设置相同的符号 : `<html>`,例如 `:root[data-brand='teal'] { … }`,并切换属性。 在两个主题的品牌颜色上保持前地可读.

这个 `standalone:` 变体样式 已安装的应用程序( 从家用屏幕打开, 或从 Play Store 作为信任的网络活动打开) `@media (display-mode: standalone)`,例如 `standalone:hidden` 在只属于浏览器的页脚上,或 `standalone:h-dvh` 在屏幕上,必须不滚动。 它不需要脚本,因此页面从不先闪出浏览器.

模块自动注入样式表。 仅当您需要控制加载顺序( 导入获得模块所注入的相同的样式表, 以及应用程序所使用的组件的类别) 时, 才明确导入 :

```js
import '@brumaombra/ui-vintage/style.css';
```

`LandingNavbar`, (中文(简体) ), `LandingFooter`,以及 `DashboardShell` 接受 `app-logo` 财务报告和审定财务报表 `app-logo-dark`,所以你的标志也可以跟随主题.

### 动议

每个组件都使用相同的小词汇,您的应用程序可以重用:

-   **减:** `ease-spring`, (中文(简体) ), `ease-bounce`, (中文(简体) ), `ease-out-expo`,以及 `ease-snappy`。 。 。 .
-   **表面 :** `uv-floating-motion` (人口、菜单、工具提示), `uv-modal-motion`, (中文(简体) ), `uv-overlay-motion`, (中文(简体) ), `uv-collapsible-motion`,以及 `uv-field` (用于输入的重点环和无效状态).
-   **动画 :** `animate-uv-pop`, (中文(简体) ), `animate-uv-fade-up`, (中文(简体) ), `animate-uv-shake`, (中文(简体) ), `animate-uv-shimmer`, (中文(简体) ), `animate-uv-float`, (中文(简体) ), `animate-uv-ping-soft`, (中文(简体) ), `animate-uv-word-in`, (中文(简体) ), `animate-uv-grow-x`,以及 `animate-uv-draw`。 。 。 .
-   **高度 :** `shadow-elevated-sm` 结束 `shadow-elevated-xl`。 。 。 .

当用户喜欢减少运动时,所有持续时间都会倒闭. 尾风 v4 动画 `scale`, (中文(简体) ), `rotate`,以及 `translate` 作为独立的属性,故命名它们(不是 `transform`在自定义过渡中.

### 本地化

库字符串位于 `uiVintage` 名称空间,有英文、意大利文、法文、西班牙文、德文、葡萄牙文、中文、日文和俄文。 与 `@nuxtjs/i18n` 或 Vue I18n 配置,运行时插件将它们合并到您现有的作曲中,而不替换您的消息.

### 可安装应用程序

设定 `uiVintage: { pwa: { name: 'Acme' } }` 使应用程序可以安装,配备一个服务员,一个离线页面,每个语言的列表,推出通知,以及Android应用程序(信任的网络活动),没有额外的依赖性. 见 [`docs/pwa.md`](https://npmcn.com/package/%40brumaombra/ui-vintage/docs/pwa.md) 每一个选项.

## 如何运作

模块注册时:

1.  喷出 `src/styles.css` 进入应用程序一次,只有 Tailwind 扫描应用程序使用的库文件(见下文).
2.  添加已发布的内容 `src/` nuxt 转录目录.
3.  安装 `@nuxt/image` 当应用程序尚未注册时.
4.  注册库 i18n 插件,当 Vue I18n 出现时,该插件将本地语区消息合并.
5.  在iPhone和iPad上,添加 `maximum-scale=1` 因此Safari不会在一字段被点击时放大页面(人们仍然可以按到缩放)。 球场保持大小在每个设备上.
6.  与 `pwa` 设定,将服务工人和离线页写成建筑物的静态文件,并登记工人的生产.

### 只有应用程序所用的类

每一个构件,模块都遵循应用程序 `@brumaombra/ui-vintage/...` 通过库导入,并告诉Tailwind只扫描它接触到的文件,这在使用CSS的应用程序上将CSS削减了12%至59%. 仅发现从公共子路径的字面输入; 设置 `uiVintage: { scanAllComponents: true }` 以扫描整个库(例如,在调试缺失的类时)。 下方的文件 `src/components/` 是实施细节,可能在不同版本之间有所改变.

## 软件

`demo-app/` 是一个文档风格的 Nuxt 4 app , 显示每个组件的活预览和可复制代码标签, 概览页面上的活小程序, 与 Nuxt Content 构建的完整博客, 以及命令调色板(`Ctrl/⌘ + K`)跳入任意一行. 它从包里导入 `file:..`,因此它运行着与发布到npm相同的源.

它需要24.21节点或更新. Nuxt 内容使用内置 `node:sqlite` 模块而不是本地的 SQLite 构建.

```bash
# Install and start the demo
npm --prefix demo-app install
npm --prefix demo-app run dev

# Production build
npm --prefix demo-app run build
```

## 发展

没有构建步骤:已发布的文件是 `module.mjs`, (中文(简体) ), `src/`, (中文(简体) ), `COMPONENTS.md`,以及 `AGENTS.md`。在打开拉动请求前,检查发布工作流程运行情况:

```bash
# Type-check the published TypeScript and Vue source
npm run typecheck

# Run the tests (unit tests in Node, component tests inside the demo Nuxt app)
npm test

# Regenerate the component catalog after changing a public API
npm run docs:components

# Fail when COMPONENTS.md is out of date
npm run docs:components:check
```

新的切入点需要导出到 `package.json` 说明和类别 `scripts/components-meta.mjs`;目录生成器失败,直到他们有一个。 释放过程如下: [`.claude/skills/publish-npm/SKILL.md`](https://npmcn.com/package/%40brumaombra/ui-vintage/.claude/skills/publish-npm/SKILL.md)。 。 。 .

## 所需资源

-   Nuxt 4和Vue 3.5或更新.
-   尾风 CSS v4 与 `@tailwindcss/vite` 登记在册 `vite.plugins`。 。 。 .
-   `@hugeicons/core-free-icons` 4.3 或更新 `@hugeicons/vue` 1(您通过给 `:icon` 道具, 以及组件制造的道具。 将每个图标从自己的模块中导入,如上的例子: 包管使构造剖析出整个图标集.
-   `@nuxtjs/i18n` 10(组件调用) `useI18n()`,每个链接都使 `NuxtLinkLocale`) (中文(简体) ).
-   `@nuxt/image` 2用于图像组件(模块在需要时安装).
-   `@nuxt/content` 3,仅限 `blog` 财务报告和审定财务报表 `content` 组件.

## 解决问题

-   **组件无法解决 Nuxt 导入 :** 检查应用程序运行 Nuxt 4 和 `@brumaombra/ui-vintage` 注册于 `nuxt.config`。 。 。 .
-   **样式缺失 :** 一次注册模块,添加 `tailwindcss()` 从 `@tailwindcss/vite` 改为 `vite.plugins`,然后在更改后重新启动 dev 服务器 `nuxt.config`。 。 。 .
-   **`NuxtImg` 无法使用 :** 安装 `@nuxt/image`,或让模块在设置时安装.
-   **`useI18n` 错误、 缺少翻译或 `NuxtLinkLocale` 未解决 :** 注册 `@nuxtjs/i18n`;组件需要它的作曲和链接组件,而库信息被合并到其中.
-   **导入失败 :** 使用来自 `package.json`,例如 `@brumaombra/ui-vintage/button`从来没有内部 `src/` 路径.

## 许可证

[麻省理工学院](https://npmcn.com/package/%40brumaombra/ui-vintage/LICENSE) 毛罗·布朗比利亚

## 常见问题

### @brumaombra/ui-vintage 是什么？

来源出版的 Nuxt UI 运行时带有共享的主题符和内置的 Nuxt 集成\.

### 如何安装 @brumaombra/ui-vintage？

在项目目录运行 npm install @brumaombra/ui-vintage，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：vue（^3\.5\.0）、nuxt（^4\.0\.0）、vue-i18n（^9\.0\.0 \|\| ^10\.0\.0 \|\| ^11\.0\.0）、@nuxt/image（^2\.0\.0）、tailwindcss（^4\.0\.0）、@hugeicons/vue（^1\.0\.0）、@hugeicons/core-free-icons（^4\.3\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @brumaombra/ui-vintage 支持 TypeScript 吗？

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

### @brumaombra/ui-vintage 支持 ESM 还是 CommonJS？

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

### @brumaombra/ui-vintage 可以商用吗？

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

### @brumaombra/ui-vintage 的下载量有多少？

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

### @brumaombra/ui-vintage 还在维护吗？

最新版本 0\.9\.48 发布于 2026/11/08（今天）；至今共发布 80 个版本，其中过去 12 个月发布了 80 个；首次发布于 2026/04/09。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

