4.Golang + Gin + VUE3/React + Tailwindcss + Tauri2.0 实现Linux管理系统-路由及主页基本布局实现
Vue3路由与Naive UI集成指南 本文介绍了如何为Vue3项目配置路由系统和集成Naive UI组件库。主要内容包括: 安装并配置Vue Router,创建基础路由结构和页面布局组件 使用Naive UI组件库,包括安装、字体配置和按需引入设置 实现了一个包含头部导航和左侧菜单栏的响应式布局框架 展示了菜单组件的配置和使用方法 通过组合Vue3的路由功能和Naive UI的组件,快速搭建了一
·
VUE3路由安装及客户端基本页面实现
实现效果
一、VUE3 路由安装
-
安装路由模块
pnpm install vue-router
-
编辑
src/router/index.ts
文件添加以下内容import { createRouter, createWebHistory } from 'vue-router' const router = createRouter({ history: createWebHistory(), routes: [ { path: '/', name: 'home', component: () => import('@/views/layout/layout.vue') } ] }) export default router
-
编辑
src/main.ts
文件并import { createApp } from 'vue' import App from './App.vue' import naive from 'naive-ui' const app = createApp(App) // 引入路由 app.use(router) app.mount('#app')
-
创建
src/views/layout/layout.vue
文件并添加以下内容<script lang="ts" setup> import Header from '@/components/Header.vue' import Menu from './menu.vue' </script> <template> <!-- 最外层容器 --> <div class="layout_container"> <!-- 头部 --> <Header /> <!-- 主体 --> <div class="layout_container_content"> <!-- 左侧菜单栏 --> <div class="layout_left_menu"> <Menu /> </div> <!-- 右侧内容 --> <div class="layout_right"> <router-view /> </div> </div> </div> </template> <style lang="css" scoped> @reference "@/style.css"; .layout_container { @apply w-full h-full flex flex-col overflow-hidden; } .layout_container_content { @apply w-screen h-[calc(-theme(height.9)+100vh)] flex flex-row overflow-y-auto overflow-x-hidden; } .layout_left_menu { @apply w-56 h-full; } .layout_right { @apply flex-2 overflow-x-hidden overflow-y-auto; } </style>
-
创建
src/views/layout/menu.vue
<script lang="ts" setup> import type { MenuOption } from 'naive-ui' const menuOptions: MenuOption[] = [ { label: '仪表板', key: 'home' }, { label: '系统管理', key: 'system', children: [ { label: '系统信息', key: 'info' }, { label: '用户管理', key: 'user' }, { label: '用户组管理', key: 'group' }, { label: '进程管理', key: 'process' }, { label: '服务管理', key: 'services' } ] }, { label: '资源管理', key: 'resource', children: [ { label: 'CPU管理', key: 'cpu' }, { label: '磁盘管理', key: 'disk' }, { label: '网络管理', key: 'network' } ] }, { label: '文件管理', key: 'file' }, { label: 'Docker管理', key: 'docker', children: [ { label: '容器管理', key: 'container' }, { label: '镜像管理', key: 'image' }, { label: '网络管理', key: 'docker_network' }, { label: '存储管理', key: 'storage' }, { label: '容器编排', key: 'container_manager' } ] }, { label: 'SSH管理', key: 'ssh' }, { label: '防火墙管理', key: 'firewalld' } ] </script> <template> <n-menu :options="menuOptions" /> </template> <style scoped></style>
-
修改
App.vue
<script lang="ts" setup> </script> <template> <div class="w-screen h-screen" > <router-view /> </div> </template>
二、VUE组件库naive安装
想了解更多见naive组件库官网
1. 安装naive组件库
pnpm install naive-ui vfonts -D
2. 配置字体
编辑src/main.ts
文件
import { createApp } from 'vue'
import App from './App.vue'
import naive from 'naive-ui'
import './reset.css'
import './style.css'
// 通用字体
import 'vfonts/Lato.css'
// 等宽字体
import 'vfonts/FiraCode.css'
import router from './components/router'
const app = createApp(App)
// 引入 naive-ui
app.use(naive)
// 引入路由
app.use(router)
app.mount('#app')
3. 配置按需引入
-
安装
unplugin-auto-import
和unplugin-vue-components
插件pnpm install unplugin-vue-components unplugin-auto-import -D
-
编辑
vite.config.ts
import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import { NaiveUiResolver } from 'unplugin-vue-components/resolvers' import Components from 'unplugin-vue-components/vite' // vite.config.ts import { defineConfig } from 'vite' // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue(), AutoImport({ imports: [ 'vue', { 'naive-ui': [ 'useDialog', 'useMessage', 'useNotification', 'useLoadingBar' ] } ] }), Components({ resolvers: [NaiveUiResolver()] }) ] })
4.配置国际化
编辑src/App.vue
<template>
<n-config-provider
:date-locale="dateZhCN"
:locale="zhCN"
class="w-screen h-screen bg-gray-50 dark:bg-gray-950 scrollbar dark:scrollbar-dark text-gray-900 dark:text-white/90"
>
<div
class="w-screen h-screen"
>
<router-view />
</div>
</n-config-provider>
</template>
更多推荐
所有评论(0)