当前位置: 首页 > news >正文

Una UI配置完全指南:nuxt.config与app.config的12个关键配置项

Una UI配置完全指南:nuxt.config与app.config的12个关键配置项

【免费下载链接】una-uiThe Atomic UI framework for Nuxt, powered by Unocss engine 💛项目地址: https://gitcode.com/gh_mirrors/un/una-ui

想要快速上手Una UI配置,让这套基于 Unocss 引擎的原子化 UI 框架真正"长"成你项目的模样?本文为你梳理 nuxt.config 与 app.config 中的 12 个关键配置项,从组件前缀、全局注册到主色、圆角、侧边栏宽度,全部一次讲透,照着抄就能用。

Una UI 是一款专为 Nuxt 打造的原子化 UI 框架,核心引擎是 Unocss。它默认帮你集成了 Unocss、Color Mode(深色模式)、VueUse、Reka UI 等必备能力,你几乎不用做额外安装,只需在配置文件里"点菜"即可。配置分两大入口:nuxt.config.ts管模块行为,app.config.ts管主题与组件细节,下面逐一拆解。

一、nuxt.config 配置:控制模块行为的 3 个关键项

nuxt.config.ts中,通过una字段传入模块选项,共 3 个核心配置项。对应源码见 module.ts。

配置项默认值类型作用
prefixNstring组件名前缀
themeabletrueboolean是否启用主题化
globaltrueboolean是否全局注册组件

1. prefix:自定义组件前缀

所有 Una UI 组件默认以N开头,比如<NButton><NCard>。想避免与现有组件库冲突,改成自己的前缀即可,例如改成U后组件就变成<UButton>

2. themeable:一键开关主题能力

设为true时会自动加载主题相关插件(theme.client.ts 与 theme.server.ts),支持运行时换色。不需要主题功能时可关掉,减少一点运行时开销。

3. global:全局注册还是按需导入

默认全局注册所有组件,开箱即用。若项目组件较多想精简,可设false,然后手动导入:import { NButton } from '@una-ui/nuxt'

// nuxt.config.ts export default defineNuxtConfig({ modules: ['@una-ui/nuxt'], una: { prefix: 'N', // 组件前缀 themeable: true, // 启用主题化 global: true, // 全局注册组件 }, })

二、app.config 配置:掌控主题与细节的 9 个关键项

主题类的配置统一放在app.config.tsuna字段下,运行时可被useUnaSettings()读取并动态修改(见 useUnaSettings.ts)。

4. primary:设置主色调

所有组件的主色默认是yellow(黄),改一个词就能让全站换肤,支持 Tailwind 风格的全部色板。例如改成blueviolet,或自定义色值。

5. gray:设置中性色

默认stone,用于边框、背景、文字等中性元素。喜欢偏冷或偏暖的灰,可以换成slateneutralzinc等。

6. radius:统一圆角大小

默认0.5,控制所有组件的圆角风格。想要更圆润的卡片与按钮,调到0.75甚至1即可,整个 UI 气质立刻不同。

7. fontSize:根字号基准

默认16(px),作为全局字号基准,影响所有text-*工具类的计算。

8. fontSizes:字号切换预设列表

这是一个预设数组,供主题切换器(ThemeSwitcher)在下拉菜单中切换字号使用。替换它即可自定义可选字号档位:

// app.config.ts export default defineAppConfig({ una: { primary: 'yellow', gray: 'stone', radius: 0.5, fontSize: 16, fontSizes: [ { label: '小', value: 14 }, { label: '默认', value: 16 }, { label: '大', value: 18 }, ], }, })

9. sidebar.cookieName:侧边栏状态存储名

侧边栏的开合状态会持久化到 cookie,默认名为sidebar:state。多侧边栏场景建议各自命名,避免互相覆盖。

10. sidebar.cookieMaxAge:状态有效期

默认604800秒(7 天)。想"一次设置、长期记住",把它调大即可。默认值与侧边栏逻辑对应源码见 useSidebar.ts。

11. sidebar 宽度三件套:width / widthMobile / widthIcon

  • width:展开宽度,默认16rem
  • widthMobile:移动端宽度,默认18rem
  • widthIcon:折叠为图标栏时的宽度,默认3rem

12. sidebar.keyboardShortcut:折叠快捷键

默认b,即按下⌘/Ctrl + B快速折叠/展开侧边栏。觉得顺手也可以换成.等其他按键。

完整的 app.config 参考写法:

export default defineAppConfig({ una: { primary: 'violet', gray: 'slate', radius: 0.75, sidebar: { keyboardShortcut: '.', width: '20rem', }, }, })

三、延伸:uno.config.ts 里还能玩出什么花?

除了上述 12 项,Una UI 还提供了defaultConfig()帮助函数,让你在uno.config.ts中扩展 Unocss 配置并覆盖组件样式(官方文档见 una-config.md)。

import { defaultConfig } from '@una-ui/nuxt/una.config' export default defaultConfig({ shortcuts: [ // 静态组合:'btn-custom': 'py-2 px-4 bg-blue-500 text-white rounded', // 动态正则:[/^gradient-(\w+)$/, ([, c]) => `bg-gradient-to-r from-${c}-500 to-${c}-700`], ], })

静态 shortcuts 适合定义"常用组合类",动态 shortcuts 则能用正则批量生成工具类,是二次定制组件外观的利器。底层预设还自带primarygrayerrorsuccess等语义色板(见 colors.ts),扩展配色非常方便。

四、配置速查:一张表记住全部默认值

配置项默认值一句话说明
prefixN组件前缀
themeabletrue主题化开关
globaltrue全局注册组件
primaryyellow主色调
graystone中性色
radius0.5圆角大小
fontSize16根字号(px)
fontSizes预设数组字号切换档位
sidebar.cookieNamesidebar:state状态 cookie 名
sidebar.cookieMaxAge604800状态有效期(秒)
sidebar.width16rem展开宽度
sidebar.widthMobile18rem移动端宽度
sidebar.widthIcon3rem折叠宽度
sidebar.keyboardShortcutb折叠快捷键

五、新手常见疑问

改了 primary 不生效?检查是否同时有useUnaSettings()在运行时写入 localStorage,它会覆盖默认值;调用其reset()即可恢复默认。

想精简打包体积?关闭global按需导入组件,并只在fontSizes中保留需要的字号档位。

主题与侧边栏配置不够用?别忘了uno.config.ts的 shortcuts 扩展入口,几乎所有组件样式都能在这里二次覆盖。

掌握了这 12 个关键配置项,Una UI 就能从"开箱默认"进化为"为你定制"。现在就打开你的nuxt.config.tsapp.config.ts,动手配置起来吧!

【免费下载链接】una-uiThe Atomic UI framework for Nuxt, powered by Unocss engine 💛项目地址: https://gitcode.com/gh_mirrors/un/una-ui

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4103713.html

相关文章:

  • eSearch 离线 OCR 终极指南:截屏提取文字,再一键翻译搜索
  • AMD ROCm环境搭建指南:为Instella-MoE-16B-A3B-Midtrain铺平第一条路
  • Gridism 是什么?一个简单到极致的响应式 CSS 网格框架完整指南
  • 8月19日AI格局日报:OpenAI暂停RL训练+世界机器人大会开幕+港股双雄暴跌+Groq转型Neocloud+Cursor Origin上线+俄亥俄核废墟变8GW AI工厂
  • ppfuzz 实战技巧:如何高效批量扫描 1000+ URL 的 7 个方法
  • 用 BenchmarkTools.jl 构建基准测试套件:BenchmarkGroup 组织与 @tagged 过滤技巧
  • meteor-collection-hooks触发条件清单:find/findOne钩子在Meteor 3中的完整方法对照
  • 文件解包工具终极指南:一款万能解压工具搞定500+格式
  • 遗嘱继承律所联系方式推荐 提供遗嘱订立继承服务 2026年官方咨询渠道及办理流程介绍
  • GNOME 桌面防休眠完整指南:Caffeine 扩展安装与自动化设置
  • 抖音视频怎么保存到本地?免费无水印批量下载工具,新手 10 分钟就能搞定
  • 性能分析怎样控制采样开销
  • KMS_VL_ALL_AIO 激活脚本全攻略:一个文件如何把 Windows 和 Office 的授权打理得明明白白
  • 终极指南:用 Notepad-- 十六进制编辑破解 5 类二进制文件难题
  • Mac运行Windows软件不再折腾:Whisky免费开源方案从装到跑全记录
  • 个人微信API调用失败:登录掉线与回调排查
  • macOS 菜单栏终极救星:免费开源 Ice 三步搞定图标收纳,刘海不再挡图标
  • mapreduce的工作原理
  • 归一化与标准化
  • Depressurizer 完整上手指南:一次配置,让 Steam 数百款游戏自动分类
  • OBS背景移除插件极速上手:10分钟告别绿幕,AI抠像开启无背景直播
  • 基于Spring Boot的教学资源共享网站的设计与实现源码+文档
  • 别再让窗口打架了!Loop窗口透明度,4个玩法让两层内容同屏显示
  • 实测 IOPaint:免费开源还能一键去水印的 AI 图片修复工具,到底有多香
  • 基于SpringBoot的教学管理信息系统(源码+lw+部署文档+讲解等)
  • 基于微信小程序的学习交流平台系统(源码+文档+部署讲解等)
  • vscode-terosHDL 完整上手指南:一套让 HDL 开发变得清爽的现代化工具链
  • 本地离线OCR工具部署与实战:从表格识别到API集成全解析
  • Tabby 终端完整上手指南:一个窗口搞定本地 Shell、SSH 远程连接与串口调试
  • 计算机安全:构建坚不可摧的数字防线