前言
对于 UI 组件库的选择,我考虑过:Ant Design Vue、Element-Plus,但感觉这两款组件库太偏向业务风格了,现在项目的搭建最好能偏年轻化一点,最后还是选择了:Nuxt UI,主要是 Nuxt UI 是 Nuxt 官方推荐的,而且完美兼容 Nuxt,并且是用 TypeScript 编写的,并为所有组件和可组合函数提供类型。
安装 Nuxt UI
执行安装命令
powershell 代码:pnpm add @nuxt/ui
添加到 nuxt.config 模块中
ts 代码:export default defineNuxtConfig({ modules: ['@nuxt/ui'] })
- 需要注意的是,这里 Nuxt UI 会自动安装以下这些模块:
- @nuxtjs/tailwindcss
- @nuxtjs/color-mode
- nuxt-icons
如果以前安装过它们,则应该将它们从模块和依赖项中删除。
- 现在,我们可以在 Nuxt 应用中使用所有组件和可组合函数✨,我们在 app.vue 中加入代码:
<template>
<div class="w-screen h-screen flex justify-around items-center">
<UButton>Button</UButton>
<UBreadcrumb :links="links" />
<Icon
name="uil:github"
size="48"
/>
</div>
</template>
<script setup lang="ts">
const links = [
{
label: 'Home',
icon: 'i-heroicons-home'
},
{
label: 'Navigation',
icon: 'i-heroicons-square-3-stack-3d'
},
{
label: 'Breadcrumb',
icon: 'i-heroicons-link'
}
]
</script>
可以看到 Nuxt UI 的组件和 tailwindcss 的类名都生效了:
如果你遇到 icon 类似的错误,你应该还需要安装 @iconify-json/heroicons 这个库
powershell 代码:pnpm add @iconify-json/heroicons
配置 TypeScript
安装依赖
powershell 代码:pnpm add -D vue-tsc@^1 typescript
添加到 nuxt.config 配置中
ts 代码:export default defineNuxtConfig({ // 构建时启动类型检查 typescript: { typeCheck: true } })
总结
到这里,我们的准备工作就完成了,可以在页面组件中使用 Nuxt UI 的组件,后续就可以着手开发页面 Layout 布局。
nuxt-ui是要收费的吧,你买了?
没有,后来发现在玩意太难用了,换成element-ui了 😂
暂无点赞
暂无点赞
我的博客就是基于Nuxt UI做的,怎么说呢,这个UI局限性挺大的,还有些不是很理解的限制。
比如tooltip组件只能在PC用
比如Slideover组件只能左右
比如Modal组件会默认给html插入一个padding-right,我知道是防止锁定滚轮时出现html宽度的变化,但是我的滚轮不在Html的情况也插入一个padding...这个锁定还不让设置。
等等
嗯...这确实是个问题,实践出真理嘛,过程遇到坑很正常,我先试试,不行再换一套UI,谢谢提醒
暂无点赞
暂无点赞