Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第1张图片

了解Vue和Vue CLI及其关系

Vue

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第2张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第3张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第4张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第5张图片

Vue CLI

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第6张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第7张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第8张图片

VueCLI项目

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第9张图片

安装Vue CLI

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第10张图片

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第11张图片
安装好Node.js后我们先不要安装Vue,先设置淘宝镜像:
在这里插入图片描述
我们打开IDEA的终端:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第12张图片
使用上面的命令获取当前镜像网址,如果不是淘宝的,改成淘宝的。安装这个镜像的目的是为了使我们之后的下载安装更快一点。
在这里插入图片描述
安装Vue CLI:
在这里插入图片描述

创建web应用

安装好后我们就可以直接使用vue create来创建一个web应用:
在这里插入图片描述
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第13张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第14张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第15张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第16张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启动web应用

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第17张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第18张图片
我们也可以通过下面这种方式来启动web应用,找到package.json:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第19张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第20张图片
启动后我们就可以通过浏览器访问了:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第21张图片

Vue CLI项目结构解析

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第22张图片

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第23张图片
node_moudles中是整个项目所有依赖的模块
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第24张图片
在这里插入图片描述
启动的首页就是Index.html,favicon就是静态的图标。Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第25张图片
引入图标:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第26张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第27张图片
我们平时编写的代码基本就是在src包下:
assets放的就是一些静态资源,这里有我们的logo,跟上面那个图标的用法不相同。
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第28张图片

componerts中放组件,其中已经包括一个helloworld的组件了。
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第29张图片

router是路由,目前已经给我们写好了两个路由一个是home一个是about:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第30张图片

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第31张图片

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第32张图片
如果不用懒加载的话,所有的页面会一次加载,比较耗资源。懒加载是访问页面的时候才加载,如果页面很多我们就可以使用懒加载,来减少初始化的包的大小。
store是我们全局存数据用的。
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第33张图片

views中存放我们的页面:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第34张图片

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第35张图片
跟router中是对应起来的,当我们的路径是about,他就会跳到相关页面:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第36张图片
APP.vue是初始内容页面:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第37张图片
main.js是初始启动(配置)文件(比如说我们要引用哪个插件,都需要在这里面配置):
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第38张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第39张图片
id=app就是写在启动页面中的:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第40张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第41张图片
shims-vue是定义文件,平时我们一般不需要去管它:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第42张图片
.browserslistrc是浏览器兼容的,平时我们也不需要去使用:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第43张图片
.eslintrc.js是语法检查插件(可能会有所修改,有些规则可能初学者会不太适应):
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第44张图片
.gitignore是来配置哪些文件不需要交给git来管理,比如说我们之前提到的node_moudules就不需要交给git来管理。在这里插入图片描述Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第45张图片
packgage.json就类似于后端的pom.xml(比如说定义了我们所使用的的vue的版本、router的版本):
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第46张图片
package-lock.json用于锁定小版本号:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第47张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第48张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第49张图片
tsconfig,json就是整个项目的配置文件,也基本不需要去修改:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第50张图片
我们项目开发主要集中在Src文件夹里。
那么我们如果在页面引用刚刚的logo呢?用法如下(可以使用相对路径):
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第51张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第52张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第53张图片
编译完我们会发现多了一个dist文件夹,整个就可以部署到服务器上。

集成Ant Design Vue

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第54张图片
我么编写界面有几种方式:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第55张图片Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第56张图片

在这里插入图片描述
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第57张图片

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第58张图片

Ant Design Vue简介

我们要使用2.0之后的版本才支持vue3

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第59张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第60张图片

Ant Design Vue集成

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第61张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第62张图片
我们使用的话看的最多的就是他的组件,查看其提供的组件怎么使用:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第63张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第64张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第65张图片

但是我们用一次导一次就会比较繁琐,可以一次性导入完整组件库。但是有利有弊,利就是开发比较简单,弊就是一次性打包文件比较多。
我们先通过cd命令到web目录下:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第66张图片
再使用安装命令:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第67张图片
在这里插入图片描述
在这里插入图片描述
安装好后我们发现有两个文件有变化:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第68张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第69张图片

按钮示例

我们直接完整引入Ant Design Vue
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第70张图片
修改main.ts文件:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第71张图片
在这里插入图片描述
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第72张图片
我们去官方文档找到某一个组件:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第73张图片
复制代码:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第74张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第75张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第76张图片

网站首页布局开发

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第77张图片

网站首页示例介绍

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第78张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第79张图片

加入Ant Design Vue 布局

我们可以在antDesignVue的官网看到很多它支持地布局:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第80张图片
下面就是我们需要的这种布局的代码:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第81张图片
我们复制他提供的布局的代码到自己的项目,放在APP.vue下,也就是我们的初识页面。但是我们把代码贴进来路由就不生效了:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第82张图片
如果粘贴到Home.vue下会有个问题,每个页面都得去写头部底部,所以我们最好:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第83张图片
我们把代码复制到中,设置粘贴style,得到效果:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第84张图片
我们再复制代码添加footer:Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第85张图片
得到效果:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第86张图片
但这时候我们的页面看起来不协调,我们来删掉面包屑导航栏:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第87张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第88张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第89张图片
得到效果:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第90张图片

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第91张图片

加入首页路由

接下来我们来添加路由:
(修改代码前后差异)Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第92张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第93张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第94张图片
我们的header和footer是所有页面都有的,而sider是二级分类不是所有页面都有,所以下图中的布局不是必须的:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第95张图片
所以我们可以将这些代码改成routerview:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第96张图片
然后我们在Home.vue中修改:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第97张图片
但我们运行项目报错:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第98张图片

因为有个helloworld的组件我们没有使用,我们可以删掉这个组件,或者在规则校验里面忽视这个组件:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第99张图片
再重新运行一下项目就成功了

制作Vue自定义组件

将header和footer提取成组件

我们现在将header和footer全写在了App.vue中,虽然我们现在的代码不多,但那是因为我们核心的逻辑还没有加进来,而header和footer是所有页面都要有的,所以我们可以将其提取成一个公共的组件。
我们在components中新增一个the-header.vue:

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第100张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第101张图片
我们这里不需要props,可以删掉
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第102张图片
我们要在App.vue中导入组件,之前helloword导入组件的方式:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第103张图片

回到我们的代码,按照上面的操作导入the-header:

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第104张图片
然后就可以直接使用组件了:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第105张图片
运行发现报错:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第106张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第107张图片
接下来我们使用相同的方法提取the-footer:
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第108张图片
Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第109张图片

总结

Spring Boot+Vue3前后端分离实战wiki知识库系统之Vue3 + Vue CLI 项目搭建_第110张图片

你可能感兴趣的:(vue.js,spring,boot,前端)