当前位置: 首页 > article >正文

黑马JavaWeb开发笔记10(前端完结)——Vue路由介绍入门、前端工程打包、nginx前端部署

文章目录

  • 前言
  • 一、Vue路由
    • 1. 介绍
    • 2. 路由入门
  • 二、打包部署
    • 1. 前端工程打包
    • 2. 部署前端工程
      • 2.1 nginx介绍
      • 2.2 部署
  • 总结


前言

本篇文章是2023年最新黑马JavaWeb开发笔记10:Vue路由介绍&入门、前端工程打包、nginx前端部署的总结,帮助需要学习Web开发的朋友温故而知新。

  1. Vue路由介绍&入门
  2. 前端工程打包
  3. nginx前端部署

一、Vue路由

1. 介绍

  • Vue Router是Vue的官方路由
  • vue官方提供了路由插件Vue Router,其主要组成如下:
    • VueRouter:路由器类,根据路由请求在路由视图中动态渲染选中的组件
    • < router-link >:请求链接组件,浏览器会解析成< a >
    • < router-view >:动态视图组件,用来渲染展示与路由路径对应的组件
  • 其工作原理如下图所示:
    在这里插入图片描述
    • 首先VueRouter根据我们配置的url的hash片段和路由的组件关系去维护一张路由表;
    • 然后我们页面提供一个组件,用户点击,发出路由请求;
    • 接着我们的VueRouter根据路由请求,在路由表中找到对应的vue组件;
    • 最后VueRouter会切换中的组件,从而进行视图的更新

2. 路由入门

接下来我们来演示vue的路由功能

  • 首先我们需要先安装vue-router插件,可以通过如下命令:
    npm install vue-router@3.5.1
    (但是我们不需要安装,因为当初我们在创建项目时,已经勾选了路由功能,已经安装好了)
  • 然后我们需要在src/router/index.js文件中定义路由表,根据其提供的模板代码进行修改,最终代
    码如下:(注意需要去掉没有引用的import模块)
import Vue 'vue'
import VueRouter 'vue-router'
Vue.use(VueRouter)
const routes = [
	 {
	path: '/emp', //地址hash
	name: 'emp',
	component: () => import('../views/tlias/EmpView.vue') //对应的
	vue组件
	 },
	{
	path: '/dept',
	name: 'dept',
	component: () => import('../views/tlias/DeptView.vue')
	 }
]
const router = new VueRouter({
	routes
})

export default router
  • 在main.js中,我们已经引入了router功能,如下图所示
    在这里插入图片描述
  • 路由基本信息配置好了,路由表已经被加载,此时我们还缺少2个东西,就是< router-lin >和
    < router-view >,所以我们需要修改2个页面(EmpView.vue和DeptView.vue)我们左侧栏的2个按
    钮为router-link,其代码如下:
<el-menu-item index="1-1">
<router-link to="/dept">部门管理</router-link>
</el-menu-item>
<el-menu-item index="1-2">
<router-link to="/emp">员工管理</router-link>
</el-menu-item>
  • 然后我们还需要在内容展示区域即App.vue中定义route-view,作为组件的切换,其App.vue的完整
    代码如下:
<template>
<div id="app">
	<!-- {{message}} -->
	<!-- <element-view></element-view> -->
	<!-- <emp-view></emp-view> -->
	<router-view></router-view>
</div>
</template>
<script>
// import EmpView './views/tlias/EmpView.vue'
// import ElementView './views/Element/ElementView.vue'
export default {
	components: { },
		data(){
		return {
			"message":"hello world"
		 }
	 }
}
</script>
<style>
</style>
  • 但是我们浏览器打开地址: http://localhost:7000/ ,发现一片空白,因为我们默认的路由路径是/,但是路由配置中没有对应的关系,所以我们需要在路由配置中/对应的路由组件,代码如下:
const routes = [
	 {
		path: '/emp',
		name: 'emp',
		component: () => import('../views/tlias/EmpView.vue')
	 },
	 {
		path: '/dept',
		name: 'dept',
		component: () => import('../views/tlias/DeptView.vue')
	 },
	 {
		path: '/',
		redirect:'/emp' //表示重定向到/emp即可
	 },
]
  • 此时我们打开浏览器,访问http://localhost:7000 发现直接访问的是emp的页面,并且能够进行
    切换了,其具体如下图所示:
    在这里插入图片描述
    到此我们的路由实现成功。

二、打包部署

1. 前端工程打包

  • 我们直接通过VS Code的NPM脚本中提供的build按钮来完整,如下图所示,直接点击即可:
    在这里插入图片描述

  • 然后会在工程目录下生成一个dist目录,用于存放需要发布的前端资源,如下图所示:
    在这里插入图片描述

2. 部署前端工程

2.1 nginx介绍

  • Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
  • 其特点是占有内存少,并发能力强,在各大型互联网公司都有非常广泛的使用
  • niginx在windows中的安装:将nginx-1.22.0.zip压缩文件拷贝到无中文无空格的目录下,直接解压
  • 下图是nginx的解压目录以及目录结构说明:
    在这里插入图片描述
    很明显,我们如果要发布,直接将资源放入到html目录中

2.2 部署

  • 将我们之前打包的前端工程dist目录下的内容拷贝到nginx的html目录下,如下图所示:
    在这里插入图片描述
  • 然后我们通过双击nginx.exe文件来启动nginx,如下图所示:
    在这里插入图片描述
  • nginx服务器的端口号是80,启动成功之后,浏览器直接访问http://localhost:80 即可,其中80端口可以省略,其浏览器展示效果如图所示:
    在这里插入图片描述
    到此,我们的前端工程发布成功
  • 如果80端口被占用,我们需要通过conf/nginx.conf配置文件来修改端口号。如下图所示:
    在这里插入图片描述
    在这里插入图片描述

总结

本篇文章是2023年最新黑马JavaWeb开发笔记10:Vue路由介绍&入门、前端工程打包、nginx前端部署的总结,帮助需要学习Web开发的朋友温故而知新。


http://www.kler.cn/news/289529.html

相关文章:

  • IP SSL证书如何实现IP的https
  • Nginx中间件配置
  • RLHF(带有人类反馈的强化学习)初探
  • 科研绘图系列:python语言制标准差的直方图(STD histogram plot)
  • 模拟登录页,华为账号一键登录
  • Charles抓包全流程(Mac端+iOS端)
  • SpringBoot学习(3)Redis使用
  • blender中获取虚拟相机渲染图片上每像素对应的纹理上的像素值
  • C_深入理解指针(四) —— 回调函数、qsort使用举例、qsort函数的模拟实现
  • idea问题解决:java: -source 7 中不支持 方法引用 (请使用 -source 8 或更高版本以启用 方法引用)
  • zhidianyun01/基于 ThinkPHP+Mysql 灵活用工+灵活用工源码+灵活用工平台源码
  • EF框架中的修改
  • 利用Spring Boot实现服务降级与熔断机制
  • Spring MVC中的DispatcherServlet:核心调度者
  • 行为型设计模式-备忘录(memento)模式
  • Shell编程基础知识
  • Trm理论 2(Word2Vec)
  • 如何通过k8s来降低运营成本?
  • cuda编程[5]:矩阵乘法--使用静态共享内存优化
  • C/C++语言基础--函数基础(函数定义、调用、生命周期、递归)
  • Linux服务器CPU和IO的监控利器-iostat简介
  • 【重学 MySQL】一、数据库概述
  • 一个好用的Maven依赖冲突解决插件:Maven Helper
  • Flask wtforms组件的作用
  • 【无人机设计与控制】使用 SimMechanics 在 Simulink 中仿真四旋翼飞行器
  • 认识git和git的基本使用,本地仓库,远程仓库和克隆远程仓库
  • 【WPF中的图形(Shape)】
  • 高端控制台使用过程中如何保证用电安全
  • 分类预测|基于蜣螂优化极限梯度提升决策树的数据分类预测Matlab程序DBO-Xgboost 多特征输入单输出 含基础模型
  • vue2———组件