Vue3+Vite 项目配置 vue-router,并完成路由模块化

news2024/9/23 3:33:48

前言

  • 我的技术栈:Vue3 + Vite + TypeScirpt
  • 我的包管理工具:pnpm(v8.6.6)
  • 我的 node.js 版本:v16.14.0

一、安装vue-router

pnpm install vue-router

二、创建页面

在 /src/views 文件夹下创建 home、login、test文件夹,并在其中创建 index.vue文件
在这里插入图片描述
以下是我 /src/views/login/index.vue 中的代码,简单写个模板即可

<script lang="ts" setup></script>
<template>
  <div>
	<h1>这是home页面</h1>
  </div>
</template>

三、创建 router 文件夹

3.1 在 src 文件夹下创建一个 router 文件夹,然后在 router 文件夹中创建 index.ts 和 modules文件夹

在这里插入图片描述

3.2 在 modules 文件夹下创建模块化的 ts 文件,并填入对应的代码

目录结构:
在这里插入图片描述
在 /modules/login.ts文件中,写入如下代码:

export default [
  {
	path: '/login',
	name: 'loginIndex',
	component: () => import('@/views/login/index.vue'),
	meta: {
      title: '登录页'
	}
  }
];

在 /modules/test.ts文件中,写入如下代码:

export default [
  {
	path: '/test',
	name: 'testIndex',
	component: () => import('@/views/test/index.vue'),
	meta: {
	  title: '测试页面'
	}
  }
];

3.3 完善 /src/router/inde.ts 文件,填入如下代码

import type { App } from 'vue';
// 引入 login.ts
import LoginRouter from './modules/login';
// 引入 test.ts
import TestRouter from './modules/test';
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router';

export const publicRoutes: Array<RouteRecordRaw> = [
	...LoginRouter,
	...TestRouter,
	{
		path: '/home',
		name: 'homeIndex',
		component: () => import('@/views/home/index.vue')
	}
];

const router = createRouter({
	history: createWebHashHistory(),
	routes: publicRoutes
});

/* 初始化路由表 */
export function resetRouter() {
	router.getRoutes().forEach((route) => {
		const { name } = route;
		if (name) {
			router.hasRoute(name) && router.removeRoute(name);
		}
	});
}
/* 导出 setupRouter */
export const setupRouter = (app: App<Element>) => {
	app.use(router);
};


四、在 main.ts 中引入

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

const app = createApp(App);
// 引入我们导出的 router 
import { setupRouter } from '@/router';

const setupApp = async () => {
  const app = createApp(App);
  // 创建路由
  setupRouter(app);
  app.mount('#app');
};

setupApp();

五、配置路由出口

在 App.vue 中配置路由出口

<script lang="ts" setup></script>
<template>
	<div>
		<!-- 配置路由出口 -->
		<router-view />
	</div>
</template>

六、测试配置是否成功

可以看到,在地址栏输入不同的地址,能切换到不同的页面,至此,vue-router配置完成,模块化完成


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/735639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Chat2DB-开源AI智能数据库客户端工具 能够将自然语言转换为SQL

一、Chat2DB是什么 Chat2DB 是一款有开源免费的多数据库客户端工具&#xff0c;支持windows、mac本地安装&#xff0c;也支持服务器端部署&#xff0c;web网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比Chat2DB集成了AIGC的能力&#xff0c;能够将自然语言转换为SQ…

论文笔记--SentEval: An Evaluation Toolkit for Universal Sentence Representations

论文笔记--SentEval: An Evaluation Toolkit for Universal Sentence Representations 1. 文章简介2. 文章概括3 文章重点技术3.1 evaluation pipeline3.2 使用 4. 代码4.1 数据下载4.2 句子嵌入4.3 句子嵌入评估 5. 文章亮点6. 原文传送门7. References 1. 文章简介 标题&…

windows PE 指南(基础部分)(一)

windows PE 指南&#xff08;基础部分&#xff09;&#xff08;一&#xff09; 查找软件注册码64位汇编和编译连接PE和COFF文件简介PE和COFF文件布局简介源代码的作用obj的作用PE的作用 COFF格式文件布局概览PE格式文件布局概览COFF格式和PE格式的布局总结 COFF头COFF File Hea…

linux的磁盘分区管理思路

1、基本分区管理 1.1、磁盘划分思路 进入分区 新建分区 fdisk 更新分区表&#xff08;刷新&#xff09;partprobe /dev/sda 格式化 &#xff08;文件系统&#xff09; 挂载使用 - -> mount(开机自动挂载||autofs自动挂载) 1.2、使用fdisk分区 n创建新分区&#xff08;…

一、VMware虚拟机安装以及centos7镜像安装

目录 一、安装VMware虚拟机 二、centos7安装 (模板机&#xff09; 2.1 虚拟机安装 2.2 虚拟机配置 三、配置服务器 IP 地址 1. VMware中配置 2. window服务器 3. 在虚拟机中&#xff08;centos0&#xff09; 资源包网盘链接&#xff1a;链接&#xff1a;https://pan.bai…

ActiveMQ消息中间件应用场景

一、ActiveMQ简介 ActiveMQ是Apache出品&#xff0c;最流行的&#xff0c;能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provide实现。尽管JMS规范出台已经是很久的事情了&#xff0c;但是JMS在当今的J2EE应用中仍然扮演这特殊的地位。 二、Active…

速成版-带您一天学完vue2框架

vue是一个前端js框架&#xff0c;可以简化Dom操作&#xff0c;实现响应式数据驱动。前面全是废话&#xff0c;哈哈&#xff0c;接下来一起学习吧。 目录 一、vue基础 1.1、vue简介 1.2、第一个Vue程序 1.3、vue基础-el挂载点 1.4、data数据对象 二、本地应用-指令篇 2.…

DESCN:用于个体治疗效果估计的深度全空间交叉网络

英文题目&#xff1a;DESCN: Deep Entire Space Cross Networks for Individual Treatment Effect Estimation 翻译&#xff1a;用于个体治疗效果估计的深度全空间交叉网络 单位&#xff1a;阿里 论文链接&#xff1a; 代码&#xff1a;https://github.com/kailiang-zhong/…

由中序及后序遍历序列构建二叉树的函数参数解析

【二叉树构建函数的参数确立示意图】 ile&#xff1a;中序遍历左端点位置&#xff0c;iri&#xff1a;中序遍历右端点位置 ple&#xff1a;后序遍历左端点位置&#xff0c;pri&#xff1a;后序遍历右端点位置 【函数代码】 int build(int ile,int iri,int ple,int pri){int ro…

(文章复现)考虑微网新能源经济消纳的共享储能优化配置matlab代码

参考文献&#xff1a; [1]谢雨龙,罗逸飏,李智威等.考虑微网新能源经济消纳的共享储能优化配置[J].高电压技术,2022,48(11):4403-4413. 1.基本原理 双层规划是具有两个层次的优化问题&#xff0c;具有外层和内层两个优化目标&#xff0c;本研究的问题结构如图2所示。两层问题相…

打印机不打印故障检查步骤

第一步&#xff1a;检查打印机电源是否接通、打印机电源开关是否打开、打印机数据线的连接是否正确。 第二步&#xff1a;检查打印机进纸盒中是否有纸&#xff0c;打印机内是否卡纸&#xff0c;感光鼓组件是否有问题。 第三步&#xff1a;检查应用程序是否有问题或存在病毒。 第…

C#,数值计算——分数阶的贝塞尔函数(Bessel functions of fractional order)源代码

分数阶微积分这一重要的数学分支&#xff0c;其诞生在1695年&#xff0c;几乎和经典微积分同时出现。那一年&#xff0c;德国数学家Leibniz 和法国数学家LHopital 通信&#xff0c;探讨当导数的阶变为1/2时&#xff0c;其意义是什么&#xff1f;当时Leibniz也不知道定义与意义&…

强化学习-理解及应用:解决迷宫问题

什么是强化学习&#xff1f; 强化学习&#xff08;Reinforcement Learning, RL&#xff09;是一种机器学习方法&#xff0c;旨在让智能体&#xff08;agent&#xff09;通过与环境的交互学习如何做出最优的行动选择以获得最大的累积奖励。 7个基本概念 强化学习主要由智能体…

YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理

YApi 项目管理 新建项目修改项目图标项目迁移项目拷贝删除项目配置环境请求配置请求参数示例返回数据示例storage工具函数异步处理&#xff08;v1.3.13支持&#xff09; token全局mock 新建项目 点击右上角的 新建项目&#xff0c;进入新建项目页面&#xff1a; 完善项目信息…

JVM理论(三)运行时数据区--PC寄存器/虚拟机栈/本地方法栈

运行时数据区(JVM内存结构) JVM内存结构 内存是非常重要的资源,是硬盘和CPU的中间桥梁,承载操作系统和应用程序的实时运行.JVM内存布局规定java在运行过程中内存申请、分配、管理的策略&#xff0c;保证JVM高效稳定运行。不同的JVM对于内存划分和管理机制存在部分差异(如J9和JR…

Nacos2.3.0源码启动报错找不到符号com.alibaba.nacos.consistency.entity

一. 源码下载编译&#xff1a;找不到符号com.alibaba.nacos.consistency.entity 如果报错找不到符号com.alibaba.nacos.consistency.entity Nacos\consistency\src\main\java\com\alibaba\nacos\consistency\entity 这个包下没有相关的java文件&#xff0c;其实是我们没有编译…

Vue.js 双向数据绑定的具体实现代码(简洁版)

1、 执行初始化&#xff0c;对data执行响应化处理 先来一个构造函数&#xff1a;执行初始化&#xff0c;对data执行响应化处理 class Vue { constructor(options) { this.$options options; this.$data options.data; // 对data选项做响应式处理 observe(this.$data);…

Linux性能优化实践——CPU上下文

CPU上下文切换 Linux是一个多任务操作系统&#xff0c;它支持远大于CPU数量的任务同时运行。这些任务不是真正意义上的并行运行&#xff0c;而是系统在短时间内&#xff0c;将CPU轮流分配给它们&#xff0c;造成任务同时运行的错觉。 CPU需要知道任务从哪里加载&#xff0c;从…

使用 OpenVINO™ 转换和优化 YOLOv8

本教程还可以作为 Jupyter Notebook 提供,可以直接从 GitHub 克隆。请参阅安装指南,了解在 Windows、Linux 或 macOS 上本地运行本教程的说明。 Ultralytics 开发的 YOLOv8 算法是一种尖端、最先进的 (SOTA) 模型,旨在快速、准确且易于使用,使其成为各种物体检测、图像分割…

Cartoon头像 InsCode Stable Diffusion 美图活动一期

一. 简单介绍和活动地址 简单介绍 试用Stable Diffusion 模型生成优质人物好图&#xff0c;更简单地炼丹。 “InsCode是一个集成了在线IDE、在线AI编程、在线算力租赁、在线项目部署以及在线SD 模型使用的综合代码开发平台。不论你是初级软件工程师&#xff0c;还是AI大模型…