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

news2024/9/22 23:19:27

文章目录

  • 前言
  • 一、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.coloradmin.cn/o/2084920.html

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

相关文章

6款文件恢复软件推荐,电脑小白也能够一人做到电脑数据恢复!

在一台小小的电脑里&#xff0c;有着我们学习资料的整理、工作文件的痕迹和生活点滴的回忆&#xff0c;正因为这些数据对我们来说是十分珍重的东西&#xff0c;所以会难以承受它们丢失不见的结果。 一旦造成数据丢失&#xff0c;我们该怎么做才能把这些重要的数据文件找回呢&a…

科研绘图之折线图

在科研数据分析中&#xff0c;折线图是一种常见且有效的可视化工具&#xff0c;用于展示数据随时间或其他连续变量的变化趋势。Python&#xff0c;作为一种强大的编程语言&#xff0c;提供了多种绘制折线图的工具和库&#xff0c;其中最常用的包括 Matplotlib 和 Seaborn。 Ma…

vscode解决运行程序无法从控制台输入问题

在vscode中运行一些简单的程序代码&#xff0c;需要从控制台接受输入参数&#xff0c;发现不能通过键盘输入。 本章教程&#xff0c;提供该问题的解决方法。 解决办法 由于我是使用的Code Runner这个插件&#xff0c;Code Runner插件支持运行多种编程语言&#xff0c;很方便。打…

如何构建基于Java SpringBoot和Vue的受灾救援物资管理系统?——四步实现物资高效调配,提升救援响应速度

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…

国外服务器独立ip的好处

国外服务器提供独立IP服务&#xff0c;这为网站运营者、企业用户以及个体户提供了诸多便利。独立IP即一个独一无二的IP地址&#xff0c;专为一个网站或一项服务&#xff0c;相较于共享IP&#xff0c;独立IP拥有许多不可替代的优势。下面将介绍国外服务器提供独立IP服务的好处&a…

C#生成exe并用process运行

文章目录 前言一、生成exe1.发布自包含版本2.一些问题1. 使用 .NET Framework修改项目文件 二、使用Process调用exe子进程阻塞了父进程&#xff1a;资源锁定&#xff1a;无限循环&#xff1a;命令行挂起&#xff1a;1.解决方法示例代码 说明1.启动 EXE 文件&#xff1a;2.启动 …

开源项目管理工具Taiga

什么是 Taiga &#xff1f; Taiga 是一个免费开源&#xff0c;而且功能非常强大的项目管理平台&#xff0c;用于初创企业和敏捷开发团队。Taiga 专注于简洁性&#xff0c;并且界面很干净简单。Taiga 也非常个性化&#xff0c;并集合了很多其它功能和外部工具&#xff0c;还有大…

如何恢复最近删除的文件?5种简单方法!

数据丢失在我们的工作生活中经常发生。当你决定清理硬盘或U盘时&#xff0c;你会删除一些文件夹或文件。如果你通过右键单击删除文件&#xff0c;则可以很容易从回收站恢复已删除的文件。但是&#xff0c;如果你按Shift Delete键、清空回收站或删除大于8998MB的大文件夹&#…

智能优化特征选择|基于鲸鱼WOA优化算法实现的特征选择研究Matlab程序(XGBoost分类器)

智能优化特征选择|基于鲸鱼WOA优化算法实现的特征选择研究Matlab程序&#xff08;XGBoost分类器&#xff09; 文章目录 一、基本原理鲸鱼智能优化特征选择流程 二、实验结果三、核心代码四、代码获取五、总结 智能优化特征选择|基于鲸鱼WOA优化算法实现的特征选择研究Matlab程序…

丹娜生物增利不增收:核心产品原材料面临不利因素,销售费用率攀升

《港湾商业观察》黄懿 7月15日&#xff0c;丹娜&#xff08;天津&#xff09;生物科技股份有限公司&#xff08;下称“丹娜生物”&#xff09;针对北交所出具的IPO问询文件进行了首轮回复&#xff0c;其保荐人为招商证券。7月26日&#xff0c;监管部门发出第二封问询函。 公开…

分布式场景下websocket解决方案

在项目中遇到&#xff1a;多个服务作为websocket服务端时&#xff0c;怎么跟前端设备进行数据通信的问题。具体解决方案&#xff0c;分享一下。 1.遇到问题 项目中使用websocket与前端设备建立长链接&#xff0c;用于推送过车、车位数、支付等相关信息&#xff0c;由于项目是负…

监控摄像头内存卡格式化了怎么恢复?

监控摄像头在现代社会中的应用越来越广泛&#xff0c;无论是家庭安防还是商业场所的安全监控&#xff0c;它们都扮演着重要的角色。然而&#xff0c;内存卡的数据丢失问题也时有发生&#xff0c;尤其是当内存卡被不小心格式化时&#xff0c;很多重要的监控数据可能会永久丢失。…

SpringBoot下获取resources目录下文件的常用方法

哈喽&#xff0c;大家好&#xff0c;今天给大家带来SpringBoot获取resources目录下文件的常用方法&#xff0c;示例中的方法是读取resources目录下的txt和xlsx文件&#xff0c;并将xlsx导出到excel的简单写法。完整代码放在最后。 通过this.getClass()方法获取 method1 - met…

linux安装mysql数据库,含公网链接(有网络带网安装)

1.检查是否存在mysql mysql出现这个&#xff0c;代表没安装 -bash: mysql: command not found 2.检查是否有mariadb数据库&#xff0c;如果有&#xff0c;需要先卸载。 rpm -qa | grep mariadb3.卸载现有的数据库 rpm -e --上个命令显示的名字4.在线安装&#xff0c;需要外…

【多线程】线程的等待通知机制-wait与notify

&#x1f490;个人主页&#xff1a;初晴~ &#x1f4da;相关专栏&#xff1a;多线程 / javaEE初阶 我们都知道&#xff0c;线程在系统调度上是随机的&#xff0c;因此线程之间执⾏的先后顺序难以预知。但在实际开发中有时我们希望控制多个线程执行某个逻辑的先后顺序&#xff…

基于JSP高校应届生就业信息管理系统的设计与实现(全网第一无二,阿龙原创设计)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

C#骑砍逻辑类Mod制作详细解说

前言&#xff1a; 最近在研究骑砍的mod&#xff0c;主要是想修改其中的逻辑部分&#xff0c;因此有了这篇帖子。 一&#xff0c;文件夹与XML配置 在Modules创建一个新文件夹&#xff0c;文件夹名称随意&#xff0c;不影响实际的读取。 文件夹下面的位置需要固定&#xff0c;因…

大模型学习路线:从新手到专家的全面指南,从零基础到精通,非常详细收藏我这一篇就够了

随着人工智能技术的飞速发展&#xff0c;特别是近年来深度学习领域的突破&#xff0c;大规模预训练模型&#xff08;通常称为“大模型”&#xff09;已成为推动自然语言处理&#xff08;NLP&#xff09;、计算机视觉&#xff08;CV&#xff09;等领域发展的关键力量。本文将为你…

CSS 嵌套元素的隐藏规则

简单介绍一下&#xff0c;在 HTML 和 CSS 中&#xff0c;元素大体分为 块级元素、内联元素&#xff08;行内元素&#xff09;、块级内联元素&#xff08;行内块元素&#xff09;。它们有着不同的嵌套规则和特殊之处。 1. 行内元素 行内元素特点&#xff1a;不独占一行、不可设…

06- Python的标识符

Python 标识符的知识点 简单地理解&#xff0c;标识符就是一个名字&#xff0c;就好像我们每个人都有属于自己的名字&#xff0c;它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。 Python 中标识符的命名不是随意的&#xff0c;而是要遵守一定的命令规则&#xf…