[Vue3:Vite构建项目]:安装router实现登录页面路由跳转

文章目录

  • 一:前置依赖
    • 查看依赖
    • 安装vite npm create vite@latest sys-instruction-0607 --template vue-ts
    • 安装路由:npm install vue-router@4
    • 安装elementUI:npm install element-plus --save
  • 二:配置文件:views(登录和列表页面),router(views页面路由)
    • App.vue 顶层路由页面调整:
    • 创建views目录添加文件Login和Page vue:
    • 创建router目录添加index路由配置
    • 根目录mainjs文件引入index路由,elementUI配置
  • 三:效果

一:前置依赖

查看依赖

根目录下 package.json 文件

 "dependencies": {
    "vue": "^3.4.21",
    "vue-router": "^4.3.2"
  },

在这里插入图片描述

安装vite npm create vite@latest sys-instruction-0607 --template vue-ts

PS E:\WorkContent\shanghaikaifangdaxue\shujukuyingyong\testFour> npm create vite@latest sys-instruction-0607 --template vue-ts
Need to install the following packages:
create-vite@5.2.3
Ok to proceed? (y) y
√ Select a framework: » Vue
√ Select a variant: » TypeScript

Scaffolding project in E:\WorkContent\shanghaikaifangdaxue\shujukuyingyong\testFour\sys-instruction-0607...

Done. Now run:

  cd sys-instruction-0607
  npm install
  npm run dev

PS E:\WorkContent\shanghaikaifangdaxue\shujukuyingyong\testFour>

在这里插入图片描述

PS E:\WorkContent\shanghaikaifangdaxue\shujukuyingyong\testFour\sys-instruction-0607> npm run dev

> sys-instruction-0607@0.0.0 dev
> vite

'vite' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
PS E:\WorkContent\shanghaikaifangdaxue\shujukuyingyong\testFour\sys-instruction-0607> npm install

added 43 packages, and audited 44 packages in 16s

5 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
PS E:\WorkContent\shanghaikaifangdaxue\shujukuyingyong\testFour\sys-instruction-0607> npm run dev

> sys-instruction-0607@0.0.0 dev
> vite


  VITE v5.2.12  ready in 413 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
  ➜  press h + enter to show help

安装路由:npm install vue-router@4

 # npm install vue-router@4
PS E:\WorkContent\shanghaikaifangdaxue\shujukuyingyong\testFour\sys-instruction-0607> npm install vue-router@4

added 2 packages, and audited 46 packages in 3s

6 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

在这里插入图片描述

PS E:\WorkContent\shanghaikaifangdaxue\shujukuyingyong\testFour\sys-instruction-0607> npm i --save-dev @types/node

added 2 packages, and audited 48 packages in 3s

6 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
PS E:\WorkContent\shanghaikaifangdaxue\shujukuyingyong\testFour\sys-instruction-0607>

安装elementUI:npm install element-plus --save

PS E:\WorkContent\shanghaikaifangdaxue\shujukuyingyong\testFour\sys-instruction> npm install element-plus --save

added 23 packages, and audited 85 packages in 17s

14 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

二:配置文件:views(登录和列表页面),router(views页面路由)

在这里插入图片描述

App.vue 顶层路由页面调整:

<script setup>
</script>
<template>
  <div>
    <router-view key = "$route.fullPath"></router-view>
  </div>
</template>
<style scoped>
</style>
<script>
  export default {
  }
</script>

创建views目录添加文件Login和Page vue:

<template> 
    <div class="login-container">
      <h1>教师管理系统</h1>
      <input type="text" placeholder="用户名" v-model="username" />
      <input type="password" placeholder="密码" v-model="password" />
      <button @click="login">登录</button>
    </div>
</template>
<script>
  export default {
    data() {
      return {
        username: '',
        password: ''
      };
    },
    computed: {
      key() {
        return this.$route.path + Math.random()
      }
    },
    methods: {
      login() {
        // 这里应该是登录验证逻辑,例如向服务器发送请求
        // 验证成功后,可以跳转到主页或其他页面
        this.$router.push('/page');
      }
    }
  }
</script>
<template> 
    <div class="login-container">
      <h1>Page 分页页面t</h1>
      <button @click="handle">Login</button>
    </div>
</template>
<script>
  import { useRouter } from 'vue-router'
  export default {
    methods: {
      handle () {
        this.$router.push("pagec")
      }
    }
  }
</script>

创建router目录添加index路由配置

import type { App } from 'vue'
import type { RouteRecordRaw } from 'vue-router'
import { createRouter, createWebHistory } from 'vue-router'
// import moduleroutes from './module/router'


const moduleroutes = [
    {
      path: '/:pathMatch(.*)*',
      component: () => import('../views/Login.vue'),
      // redirect: '/Login',
      name: 'Login',
      meta: {}
    },
    {
      path: '/page',
      component: () => import('../views/Page.vue'),
      // redirect: '/page',
      name: 'Page',
      meta: {}
    }
]

// 创建路由实例
const router = createRouter({
  history: createWebHistory(), // createWebHashHistory URL带#,createWebHistory URL不带#
  strict: true,
  routes: moduleroutes as RouteRecordRaw[],
  scrollBehavior: () => ({ left: 0, top: 0 })
})

export const resetRouter = (): void => {
  const resetWhiteNameList = ['Redirect', 'Login', 'NoFind', 'Root']
  router.getRoutes().forEach((route) => {
    const { name } = route
    if (name && !resetWhiteNameList.includes(name as string)) {
      router.hasRoute(name) && router.removeRoute(name)
    }
  })
}

export const setupRouter = (app: App<Element>) => {
  app.use(router)
}

export default router

根目录mainjs文件引入index路由,elementUI配置

import { createApp } from 'vue'
import './style.css'
import App from './App.vue' 
import router from './router' //引入router
import ElementPlus from 'element-plus' //引入ElementPlus

const app=createApp(App)

app.use(router) //使用router
app.use(ElementPlus) //使用ElementPlus

app.mount('#app')

三:效果

访问 http://localhost:5173/ 根据路由默认路由到Loginvue页面
登录跳转路由到Page页面
在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大学国学搜题软件?分享7个软件和公众号,来对比看看吧 #经验分享#微信#媒体

在大学里&#xff0c;高效的学习工具可以帮助我们更好地管理时间和资源&#xff0c;提高学习效果。 1.彩虹搜题 这是个老公众号了 多语言查询支持&#xff0c;满足国际用户需求。全球通用&#xff0c;无障碍搜题。 下方附上一些测试的试题及答案 1、某酸碱指示剂的&#xf…

crossover软件安装程序怎么安装 Crossover for Mac切换Windows系统 crossover软件怎么样

CrossOver Mac版是专为苹果电脑用户打造的一款实用工具&#xff0c;这款工具主要方便用户在Mac上运行windows系列的应用程序&#xff0c;用户不需要安装虚拟机就可以实现各种应用程序的直接应用&#xff0c;并且可以实现无缝集成&#xff0c;实现跨平台的复制粘贴和文件互通等&…

Vue2工程化

本节目标 工程化开发项目运行流程组件化组件注册自定义创建项目 工程化开发 基于构建工具的环境开发Vue Webpack的缺点 webpack的配置并不简单基础的配置雷同各公司缺乏统一标准 Vue CLI Vue CLI是Vue官方提供的一个全局命令工具帮助我们快速创建标准化的开发环境( 集成了w…

力扣 74.搜索二维矩阵

题目描述&#xff1a; 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返回 true &#xff1b;否则&am…

Linux RS232

一、确认硬件信息 RS232&#xff1a; 引脚信息&#xff1a; 二、软件配置 1、pinctrl信息&#xff1a; 2、设备树节点&#xff1a; 3、修改串口支持的模式 三、驱动 bsp/drivers/uart/sunxi-uart.c 四、烧录测试 查看串口参数&#xff1a; stty -F /dev/ttyAS3 -a stty -F…

NRF24L01(2.4G)模块的使用——SPI时序(软件)篇

一、SPI的简介&#xff1a; SPI 是英语Serial Peripheral interface的缩写&#xff0c;顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。 SPI&#xff0c;是一种高速的&#xff0c;全双工&#xff0c;同步的通信总线&#xff0c;并且在芯片的管脚…

澳大利亚和德国媒体投放-国外新闻发稿-海外软文推广

德国媒体 Firmenpresse德国新闻 Firmenpresse德国新闻是一家备受欢迎的新闻发布平台&#xff0c;其好友搜索引擎在收录网站方面表现出色。如果您希望更好地将您的新闻传播给德国受众&#xff0c;Firmenpresse德国新闻将是一个理想的选择。 Frankfurt Stadtanzeiger法兰克福城…

每日一题——Python实现PAT乙级1037 在霍格沃茨找零钱(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 时间复杂度分析&#xff1a; 空间复杂度分析&#xff1a; 我要更强 哲学…

用HAL库改写江科大的stm32入门-6-4 PWM驱动舵机

接线图&#xff1a; 如何控制一个舵机 舵机的控制由一个脉冲宽度调制信号(PWM波&#xff09;来实现&#xff0c;该信号在这个实验里使用stm32来发出。 舵机通讯协议&#xff1a; 对应设置参数&#xff1a; ARR的值为19999 CCR的值为500~2500(生成占空比是2.5%~12.5%的波形)…

6.7 输入输出流

输入&#xff1a;将数据放到程序&#xff08;内存&#xff09;中 输出&#xff1a;将数据从程序&#xff08;内存&#xff09;放到设备中 C的输入输出分为3种形式&#xff1a; 从键盘屏幕中输入输出&#xff0c;称为标准IO 对于磁盘进行标准输入输出&#xff0c;称为文件IO…

容声冰箱正式发布主动除菌净味白皮书,守护家人饮食健康

近日&#xff0c;由中国家用电器研究院指导、全国家用电器工业信息中心和容声冰箱联合编制的《冰箱主动除菌净味技术发展白皮书》&#xff08;下称《白皮书》&#xff09;正式发布。 《白皮书》指出&#xff0c;容声将IDP主动除菌技术应用到冰箱冷冻、冷藏区域&#xff0c;实现…

u盘内容无故消失了是什么原因?u盘部分内容无故消失了怎么恢复

在数字化时代&#xff0c;U盘作为便携存储设备&#xff0c;承载着许多重要的数据。然而&#xff0c;有时我们可能会遭遇U盘部分内容无故消失的情况&#xff0c;这无疑给我们的工作和生活带来了不小的困扰。本文将为您解析U盘内容消失的可能原因&#xff0c;并分享几招实用的数据…

数据结构--线性表和串

个人介绍 hello hello~ &#xff0c;这里是 code袁~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的…

[职场] 社保和商业保险有什么区别?可以只买商保不买社保吗? #微信#经验分享#媒体

社保和商业保险有什么区别&#xff1f;可以只买商保不买社保吗&#xff1f; 我们在提到社保和商业保险时&#xff0c;经常会听到这样一句话&#xff1a;“社保是基础&#xff0c;商保是补充。” 为什么会这样说呢&#xff1f;社保和商保有什么区别呢&#xff1f;今天&#xf…

UE5中在地形中加入湖、河

系统水资产添加 前提步骤123 完成 前提 使用版本 UE5.0.3,使用插件为UE内置的Water和water Extras. 步骤 1 记得重启 2 增加地形&#xff0c;把<启用编辑图层>勾选 如果地形没有勾选上编辑图层&#xff0c;那么就会导致湖、河等水景象无法融入地形。 如果忘记勾选…

分享飞行棋夫妻互动游戏高阶版,揭秘夫妻飞行棋游戏玩法!

朋友们&#xff0c;今天我要给你们介绍一款超级甜蜜的小游戏——情侣飞行棋。别小看它&#xff0c;这可不是咱们小时候玩的那种&#xff0c;这是专门为咱们这些恩爱的小两口设计的&#xff0c;能让你们的感情在游戏中更加甜蜜蜜&#xff0c;擦出更多爱的火花。 准备好了吗&…

帕友饮食改善的小建议!

一、增加膳食纤维的摄入 帕金森病患者应增加膳食纤维的摄入量&#xff0c;以帮助调节肠道功能&#xff0c;预防便秘。膳食纤维丰富的食物包括蔬菜、水果、全谷类食物等。患者应确保每天摄入足够的膳食纤维&#xff0c;以保持肠道通畅&#xff0c;缓解帕金森病可能带来的消化不…

如何将HTTP升级成HTTPS?既简单又免费的方法!

在当今数字化时代&#xff0c;网络安全已成为用户和企业关注的焦点。HTTPS作为一种更加安全的网络通信协议&#xff0c;正逐渐取代传统的HTTP成为新的标准。对于许多网站管理员和内容创作者来说&#xff0c;如何免费升级到HTTPS是一个值得探讨的问题。本文将详细介绍一些免费的…

6.18云服务器大促盘点,错过一次,再等一年!

随着云计算技术的飞速发展&#xff0c;云服务器已成为企业和个人构建和扩展在线业务的首选平台。特别是在大型促销活动如618年中大促期间&#xff0c;云服务提供商纷纷推出极具吸引力的优惠&#xff0c;以降低用户上云的门槛。以下是对当前市场上几个主流云服务提供商的优惠活动…

基本 MOSFET 恒流源

恒流源在电路分析练习和网络定理中占有重要地位&#xff0c;然后它们似乎或多或少消失了。。。除非你是IC设计师。尽管在典型 PCB 设计中很少遇到&#xff0c;但电流源在模拟 IC 领域却无处不在。这是因为它们 1) 用于偏置&#xff0c;2) 作为有源负载。 偏置&#xff1a; 用作…