当前位置:首页 > VUE

vue实现spa案列

2026-02-22 12:57:21VUE

Vue 实现 SPA 案例

项目初始化

使用 Vue CLI 创建项目,确保已安装 Node.js 和 npm/yarn:

npm install -g @vue/cli
vue create vue-spa-demo
cd vue-spa-demo

安装路由依赖

Vue Router 是构建 SPA 的核心工具:

npm install vue-router

配置路由

src/router/index.js 中配置路由规则:

import { createRouter, createWebHistory } from 'vue-router'
import Home from '../views/Home.vue'
import About from '../views/About.vue'

const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About }
]

const router = createRouter({
  history: createWebHistory(),
  routes
})

export default router

主入口文件

修改 src/main.js 引入路由:

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

createApp(App).use(router).mount('#app')

根组件模板

src/App.vue 中添加路由占位符和导航:

<template>
  <div id="app">
    <nav>
      <router-link to="/">Home</router-link>
      <router-link to="/about">About</router-link>
    </nav>
    <router-view/>
  </div>
</template>

创建页面组件

src/views/ 目录下创建页面组件:

vue实现spa案列

  • Home.vue:

    <template>
    <div>Welcome to Home Page</div>
    </template>
  • About.vue:

    <template>
    <div>About Page Content</div>
    </template>

动态路由示例

在路由配置中添加带参数的路由:

{
  path: '/user/:id',
  component: () => import('../views/User.vue')
}

User.vue 中获取参数:

vue实现spa案列

export default {
  computed: {
    userId() {
      return this.$route.params.id
    }
  }
}

路由守卫

添加全局前置守卫控制访问权限:

router.beforeEach((to, from, next) => {
  if (to.meta.requiresAuth && !isAuthenticated) {
    next('/login')
  } else {
    next()
  }
})

部署配置

vue.config.js 中设置 publicPath 适应生产环境:

module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? '/your-project-name/' : '/'
}

运行与构建

开发模式运行:

npm run serve

生产环境构建:

npm run build

关键点总结

  • 路由配置通过 createRouter 实现
  • <router-view> 作为组件渲染出口
  • <router-link> 实现导航跳转
  • 动态路由通过冒号语法 :param 定义
  • 路由守卫控制导航逻辑
  • 懒加载提升性能(() => import() 语法)

标签: vuespa
分享给朋友:

相关文章

vue实现文档

vue实现文档

Vue 实现文档的方法 在 Vue 中实现文档功能可以通过多种方式,包括使用富文本编辑器、Markdown 解析或直接渲染 HTML。以下是几种常见的实现方法。 使用富文本编辑器 富文本编辑器如…

vue实现简单的弹窗

vue实现简单的弹窗

使用 Vue 实现简单弹窗 组件基础结构 创建一个名为 Modal.vue 的组件文件,包含模板、脚本和样式部分: <template> <div class="modal-…

vue实现主页

vue实现主页

Vue 实现主页的基本步骤 创建一个 Vue 主页通常涉及以下几个关键步骤,从项目初始化到页面布局和功能实现。 初始化 Vue 项目 使用 Vue CLI 或 Vite 初始化项目。Vue CLI…

vue实现图集

vue实现图集

Vue 实现图集的方法 在 Vue 中实现图集功能可以通过多种方式完成,以下是一些常见的方法和实现步骤。 使用第三方库(如 vue-image-lightbox) 安装 vue-image-lig…

vue实现markdown

vue实现markdown

Vue 实现 Markdown 编辑器 在 Vue 中实现 Markdown 编辑器可以通过集成第三方库或自定义解析器完成。以下是两种常见方法: 使用第三方库(如 marked 或 markdow…

vue实现海报

vue实现海报

Vue 实现海报生成方案 使用 html2canvas 库 html2canvas 是一个将 HTML 元素转换为 Canvas 的库,适合将 Vue 组件渲染为海报图片 安装依赖: npm in…