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

256 阅读5分钟

在这里插入图片描述

了解Vue和Vue CLI及其关系

Vue

在这里插入图片描述 在这里插入图片描述

Vue CLI

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

VueCLI项目

在这里插入图片描述

安装Vue CLI

在这里插入图片描述

在这里插入图片描述 安装好Node.js后我们先不要安装Vue,先设置淘宝镜像: 在这里插入图片描述 我们打开IDEA的终端: 在这里插入图片描述 使用上面的命令获取当前镜像网址,如果不是淘宝的,改成淘宝的。安装这个镜像的目的是为了使我们之后的下载安装更快一点。 在这里插入图片描述 安装Vue CLI: 在这里插入图片描述

创建web应用

安装好后我们就可以直接使用vue create来创建一个web应用: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

启动web应用

在这里插入图片描述 在这里插入图片描述 我们也可以通过下面这种方式来启动web应用,找到package.json: 在这里插入图片描述 在这里插入图片描述 启动后我们就可以通过浏览器访问了: 在这里插入图片描述

Vue CLI项目结构解析

在这里插入图片描述

在这里插入图片描述 node_moudles中是整个项目所有依赖的模块 在这里插入图片描述 在这里插入图片描述 启动的首页就是Index.html,favicon就是静态的图标。在这里插入图片描述 引入图标: 在这里插入图片描述 在这里插入图片描述 我们平时编写的代码基本就是在src包下: assets放的就是一些静态资源,这里有我们的logo,跟上面那个图标的用法不相同。 在这里插入图片描述

componerts中放组件,其中已经包括一个helloworld的组件了。 在这里插入图片描述

router是路由,目前已经给我们写好了两个路由一个是home一个是about: 在这里插入图片描述

在这里插入图片描述

在这里插入图片描述 如果不用懒加载的话,所有的页面会一次加载,比较耗资源。懒加载是访问页面的时候才加载,如果页面很多我们就可以使用懒加载,来减少初始化的包的大小。 store是我们全局存数据用的。 在这里插入图片描述

views中存放我们的页面: 在这里插入图片描述

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

集成Ant Design Vue

在这里插入图片描述 我么编写界面有几种方式: 在这里插入图片描述在这里插入图片描述

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

Ant Design Vue简介

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

在这里插入图片描述 在这里插入图片描述

Ant Design Vue集成

在这里插入图片描述 在这里插入图片描述 我们使用的话看的最多的就是他的组件,查看其提供的组件怎么使用: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

但是我们用一次导一次就会比较繁琐,可以一次性导入完整组件库。但是有利有弊,利就是开发比较简单,弊就是一次性打包文件比较多。 我们先通过cd命令到web目录下: 在这里插入图片描述 再使用安装命令: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 安装好后我们发现有两个文件有变化: 在这里插入图片描述 在这里插入图片描述

按钮示例

我们直接完整引入Ant Design Vue 在这里插入图片描述 修改main.ts文件: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 我们去官方文档找到某一个组件: 在这里插入图片描述 复制代码: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

网站首页布局开发

在这里插入图片描述

网站首页示例介绍

在这里插入图片描述 在这里插入图片描述

加入Ant Design Vue 布局

我们可以在antDesignVue的官网看到很多它支持地布局: 在这里插入图片描述 下面就是我们需要的这种布局的代码: 在这里插入图片描述 我们复制他提供的布局的代码到自己的项目,放在APP.vue下,也就是我们的初识页面。但是我们把代码贴进来路由就不生效了: 在这里插入图片描述 如果粘贴到Home.vue下会有个问题,每个页面都得去写头部底部,所以我们最好: 在这里插入图片描述 我们把代码复制到中,设置粘贴style,得到效果: 在这里插入图片描述 我们再复制代码添加footer:在这里插入图片描述 得到效果: 在这里插入图片描述 但这时候我们的页面看起来不协调,我们来删掉面包屑导航栏: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 得到效果: 在这里插入图片描述

在这里插入图片描述

加入首页路由

接下来我们来添加路由: (修改代码前后差异)在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 我们的header和footer是所有页面都有的,而sider是二级分类不是所有页面都有,所以下图中的布局不是必须的: 在这里插入图片描述 所以我们可以将这些代码改成routerview: 在这里插入图片描述 然后我们在Home.vue中修改: 在这里插入图片描述 但我们运行项目报错: 在这里插入图片描述

因为有个helloworld的组件我们没有使用,我们可以删掉这个组件,或者在规则校验里面忽视这个组件: 在这里插入图片描述 再重新运行一下项目就成功了

制作Vue自定义组件

将header和footer提取成组件

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

在这里插入图片描述 在这里插入图片描述 我们这里不需要props,可以删掉 在这里插入图片描述 我们要在App.vue中导入组件,之前helloword导入组件的方式: 在这里插入图片描述

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

在这里插入图片描述 然后就可以直接使用组件了: 在这里插入图片描述 运行发现报错: 在这里插入图片描述 在这里插入图片描述 接下来我们使用相同的方法提取the-footer: 在这里插入图片描述 在这里插入图片描述