Nuxt3 实战 (四):安装 Nuxt UI 和配置 Typescript 类型检查

前言

对于 UI 组件库的选择,我考虑过:Ant Design VueElement-Plus,但感觉这两款组件库太偏向业务风格了,现在项目的搭建最好能偏年轻化一点,最后还是选择了:Nuxt UI,主要是 Nuxt UINuxt 官方推荐的,而且完美兼容 Nuxt,并且是用 TypeScript 编写的,并为所有组件和可组合函数提供类型。

安装 Nuxt UI

  1. 执行安装命令
powershell 复制代码
pnpm add @nuxt/ui
  1. 添加到 nuxt.config 模块中
ts 复制代码
export default defineNuxtConfig({
  modules: ['@nuxt/ui']
})
  1. 需要注意的是,这里 Nuxt UI 会自动安装以下这些模块:

如果以前安装过它们,则应该将它们从模块和依赖项中删除。

  1. 现在,我们可以在 Nuxt 应用中使用所有组件和可组合函数✨,我们在 app.vue 中加入代码:
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

  1. 安装依赖
powershell 复制代码
pnpm add -D vue-tsc@^1 typescript
  1. 添加到 nuxt.config 配置中
ts 复制代码
export default defineNuxtConfig({
  // 构建时启动类型检查
  typescript: {
    typeCheck: true
  }
})

总结

到这里,我们的准备工作就完成了,可以在页面组件中使用 Nuxt UI 的组件,后续就可以着手开发页面 Layout 布局。

相关推荐
蜡台1 小时前
Vue 3 原生 ESM 开发实战:不用打包工具,从零搭建组件化应用
前端·javascript·vue.js·html
寻缘千鹤1 小时前
LogicFlow流程图 PNG 导出「线上按钮置灰、无反应」故障复盘
前端·javascript·vue.js
梨想橙汁1 小时前
Vite 优化、踩坑汇总 + Webpack 迁移 Vite 实战
前端·webpack·vite
10share1 小时前
给 JSX 组件也来一份 Vue 式 scoped:jsx-scoped 让样式隔离不再靠自觉
前端·vue.js
北城笑笑1 小时前
Vue 104 ,AI + ECharts + Word:大模型数据可视化报告生成实战(前端导出图文并茂 Word 文档)
前端·vue.js·word·echarts
志尊宝2 小时前
Vue3 零基础每日笔记(010):watchEffect——用到谁就自动听谁的“懒人侦听器“
前端·vue.js·笔记
单线程_013 小时前
从案例分析 Vue3 Tokenizer+Parser 源码五
前端·javascript·vue.js
mldong10 小时前
你的 Vue3 项目也能有钉钉同款审批流设计器:npm 装包,10 分钟画出第一条审批流
前端·vue.js
mayaairi15 小时前
Vue2 组件通讯(三):全局事件总线、PubSub、插槽与组件实例属性
前端·javascript·vue.js
mayaairi18 小时前
Vue2 组件通讯(四):v-model、scoped样式、mixins与plugins
前端·javascript·vue.js