当前位置:首页 > VUE

用vue实现系统首页

2026-02-24 12:56:13VUE

使用Vue实现系统首页

项目初始化

使用Vue CLI创建新项目:

vue create system-homepage
cd system-homepage

安装常用依赖:

npm install axios vue-router element-ui

目录结构

典型目录结构如下:

src/
├── assets/          # 静态资源
├── components/      # 公共组件
│   ├── Header.vue
│   ├── Sidebar.vue
│   └── Footer.vue
├── views/           # 页面视图
│   ├── Home.vue
│   ├── Dashboard.vue
│   └── About.vue
├── router/          # 路由配置
│   └── index.js
├── App.vue          # 根组件
└── main.js          # 入口文件

基础布局实现

在App.vue中设置基础布局框架:

<template>
  <div id="app">
    <Header />
    <div class="main-container">
      <Sidebar />
      <router-view class="content"/>
    </div>
    <Footer />
  </div>
</template>

<script>
import Header from './components/Header'
import Sidebar from './components/Sidebar'
import Footer from './components/Footer'

export default {
  components: { Header, Sidebar, Footer }
}
</script>

<style>
#app {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.main-container {
  display: flex;
  flex: 1;
}
.content {
  flex: 1;
  padding: 20px;
}
</style>

路由配置

在router/index.js中配置基本路由:

import Vue from 'vue'
import Router from 'vue-router'
import Home from '../views/Home.vue'
import Dashboard from '../views/Dashboard.vue'

Vue.use(Router)

export default new Router({
  routes: [
    { path: '/', name: 'home', component: Home },
    { path: '/dashboard', name: 'dashboard', component: Dashboard }
  ]
})

首页组件实现

views/Home.vue示例:

<template>
  <div class="home">
    <h1>欢迎来到系统首页</h1>
    <el-card class="box-card">
      <div slot="header">
        <span>系统公告</span>
      </div>
      <div v-for="(item,index) in notices" :key="index">
        {{ item.title }} - {{ item.date }}
      </div>
    </el-card>
  </div>
</template>

<script>
export default {
  data() {
    return {
      notices: [
        { title: '系统维护通知', date: '2023-05-01' },
        { title: '新功能上线', date: '2023-04-15' }
      ]
    }
  }
}
</script>

<style scoped>
.home {
  padding: 20px;
}
.box-card {
  margin-top: 20px;
  width: 80%;
}
</style>

数据请求封装

创建utils/request.js封装axios:

import axios from 'axios'

const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API,
  timeout: 5000
})

service.interceptors.request.use(
  config => {
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

export default service

响应式设计

使用媒体查询实现响应式:

@media screen and (max-width: 768px) {
  .main-container {
    flex-direction: column;
  }
  .box-card {
    width: 100%;
  }
}

部署准备

配置vue.config.js:

用vue实现系统首页

module.exports = {
  publicPath: process.env.NODE_ENV === 'production'
    ? '/system-homepage/'
    : '/',
  outputDir: 'dist',
  assetsDir: 'static'
}

这个实现方案包含了系统首页的基本框架,可根据实际需求扩展功能模块,如添加用户登录状态管理、权限控制等功能。Element UI组件库提供了丰富的UI组件可以快速构建界面,axios处理数据请求,vue-router管理页面路由。

标签: 首页系统
分享给朋友:

相关文章

vue实现平台系统

vue实现平台系统

Vue 实现平台系统的方法 项目初始化与配置 使用 Vue CLI 或 Vite 初始化项目,推荐 Vue 3 + TypeScript 组合。安装核心依赖: npm create vue@late…

vue实现启动首页

vue实现启动首页

Vue 实现启动首页的方法 在 Vue 项目中实现启动首页通常涉及路由配置、页面跳转逻辑以及可能的动画效果。以下是几种常见的实现方式: 配置路由重定向 在 Vue Router 中设置默认路由重定向…

vue实现app首页

vue实现app首页

Vue 实现 App 首页的步骤 项目初始化与配置 使用 Vue CLI 或 Vite 创建一个新项目,安装必要的依赖。对于移动端适配,可以添加 postcss-pxtorem 或 lib-flexi…

vue实现首页骨架屏

vue实现首页骨架屏

Vue 实现首页骨架屏的方法 骨架屏(Skeleton Screen)是一种提升用户体验的加载效果,通过在内容加载前展示页面布局的占位图,减少用户等待的焦虑感。以下是几种常见的实现方式: 使用 CS…

css首页制作

css首页制作

CSS首页制作方法 设计布局结构 使用CSS Grid或Flexbox创建响应式布局。Grid适合复杂布局,Flexbox适合一维排列。定义容器和子元素的排列方式,确保在不同屏幕尺寸下都能正常显示。…

css制作首页

css制作首页

使用CSS制作首页的基本方法 确定首页的整体布局结构,常见的布局方式包括单栏、双栏或响应式网格布局。使用display: flex或display: grid可以快速实现复杂的页面结构。为不同屏幕尺寸…