spring-boot+vue实现前后端分离

一 . 前端的搭建

1 . 安装vue-cli开发环境

安装vue-cli的前提是你已经安装了npm,安装npm你可以直接下载node的安装包进行安装。你可以在命令行工具里输入npm -v 检测你是否安装了npm和版本情况。
在命令行使用:

npm install vue-cli -g

来安装vue-cli;
安装完毕后使用vue -V的命令,
在这里插入图片描述
很多人会遇到这样的错误,直接复制路径,找到其所在的位置删除掉文件就好了.
在这里插入图片描述

出现版本号,说明已经顺利的把vue-cli安装到我们的计算机里了。

2 . 创建vue-cli项目

在命令行输入这个命令,会创建一个vue-cli项目,项目名可以自定义

vue init webpack 项目名

输入命令后,会询问我们配置几个简单的选项,根据自己的需要进行填写就可以了。

  • Project name :项目名称 ,如果不需要更改直接回车就可以了。注意:这里不能使用大写,所以我把名称改成了vueclitest
  • Project description:项目描述,默认为A Vue.js project,可以不改。
  • Author:作者,如果你有配置git的作者,他会读取。
  • Install vue-router? 是否安装vue的路由插件,我们这里必须安装,所以选择Y
  • Use ESLint to lint your code? 是否用ESLint来限制你的代码错误和风格。我们这里不需要输入n,如果你是大型团队开发,最好是进行配置。
  • setup unit tests with Karma + Mocha? 是否需要安装单元测试工具Karma+Mocha,我们这里不需要,所以输入n。
  • Setup e2e tests with Nightwatch?是否安装e2e来进行用户行为模拟测试,我们这里不需要,所以输入n。

3. 配置项目环境

  1. cd 项目名 进入我们的vue项目目录。

  2. npm install 安装我们的项目依赖包,也就是安装package.json里的包.

  3. npm install vue-router --save-dev 安装路由插件

  4. npm run dev 开发模式下运行我们的项目。给我们自动构建了开发用的服务器环境和在浏览器中打开,并实时监视我们的代码更改,即时呈现给我们。

4. 配置路由

我们想要访问某个页面的时候,需要为页面配置路由才可以访问
打开路由配置文件:项目名/src/router/index.js
首先导入页面:import LoginView from '@/views/login.vue'
然后在数组routes中配置页面路由:

{
    path: '/loginView',
    component: LoginView
}

配置效果如下:

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import LoginView from '@/views/login.vue'

Vue.use(Router)
export default new Router({
    routes: [{
            path: '/',
            name: 'HelloWorld',
            component: HelloWorld
        },
        {
            path: '/loginView',
            component: LoginView
        },
    ]
})

5 . 创建vue页面

  1. 创建vue页面
    每一个vue页面分为3部分
    写HTML的

    与静态HTML页面有很大的相似性,但是vue作为JS框架有自己独特语法,需要记住

  2. 引入elementUI组件
    为了页面美观,在这里使用elementUI组件来开发前端页面,参考饿了么ui官方文档,来将其引入我们的项目.
    饿了么UI官网

    npm i element-ui -S` 使用命令导入饿了么ui的包

    在main.js中配置其依赖才可以使用

    // 加载element-ui
    import ElementUI from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    Vue.use(ElementUI);
    
  3. 使用elementui快速创建一个登陆页

<template>
    <div>
         <el-form :model="userInfo" status-icon  ref="ruleForm" label-width="100px" class="demo-ruleForm">
     <el-form-item label="用户名" prop="username">
        <el-input type="text" v-model="userInfo.username" autocomplete="off"></el-input>
     </el-form-item>
     <el-form-item label="密码" prop="password">
    <el-input type="password" v-model="userInfo.password" autocomplete="off"></el-input>
    </el-form-item>
   
  <el-form-item>
    <el-button type="primary" @click="login('ruleForm')">提交</el-button>
    <el-button @click="resetForm('ruleForm')">重置</el-button>
  </el-form-item>
</el-form>
    </div>
</template>
<script>
</script>
  1. 引入axios插件
    为了向服务器发出请求,我们在这里使用axios插件,使用插件需要引入相应的包,输入命令

    	npm install axios
    

由于axios不是vue的插件,不能向饿了么UI一样作为自定义的组件,需要我们每次发送请求时来使用.
为了使用方便,在main.js文件中修改其原型链.
其中的’http://localhost:8088’是后端服务器的端口,后面解决跨域使用

var axios = require('axios');
axios.defaults.baseURL = 'http://localhost:8088'
Vue.prototype.$http = axios;
  1. 前端发送请求
    在登录页绑定一个点击登录的事件,
 <script>
export default {
     data() {
      return {
        userInfo: {
          username: '',
          password: ''
        }        
      }
    },
    methods:{
        login:function(ruleForm){
            this.$http//$http是main.js中自己定义的名字
            .post('dealLogin',{
              'username':this.userInfo.username,
              'password':this.userInfo.password
            })//表示请求方式和数据,数据是json格式的
            .then(res=>{
            //then是成功后的方法
            localStorage.setItem('username',this.userInfo.username);
            this.$router.push("/main");
            })
            .catch(error=>{
            //出现异常的方法
				alert("出现异常")
            });
        }
    }
}
</script>
  1. CORS解决跨域

CORS是一个W3C标准,全称"跨域资源共享" (Cross-origin resource sharing)。

它允许浏览器向跨域服务器进行XMLHttpRequest请求,从而解决AJAX只能进行同源请求的限制。

跨域需要浏览器和服务器同时支持,现在的浏览器都支持跨域,老版本的IE不在此范围内。

6.1 前端跨域配置
由于前面已经为前端配置跨域,所以现在不需要再次配置了
6.2 后端跨域配置
首先将后端的端口号配置为8088,与步骤4保持一致
然后在需要请求的方法上添加注解,@CrossOrigin,就可以访问到后端的服务器了

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot和Vue3是一种常用的前后端分离的技术组合,可以用于构建实战的Wiki知识库系统。 首先,采用Spring Boot作为后端框架可以快速搭建项目的基本框架和配置,并提供了许多有用的功能和便利的工具。Spring Boot具有自动配置的特点,可以减少开发人员的配置工作,提高开发效率。同时,Spring Boot还提供了丰富的插件和扩展库,可以集成和支持各种数据库、消息队列等常用的后端技术。 而Vue3是一种现代的JavaScript框架,用于构建用户界面。相较于Vue2,Vue3在性能和开发体验上都有了显著的提升。Vue3引入了响应式API、组合API等新特性,让开发者能够更容易地编写复杂的交互逻辑和可重用组件。同时,Vue3还优化了虚拟DOM和编译器,提高了渲染性能和项目的整体性能。 在实战Wiki知识库系统中,可以通过前后端分离的方式来实现系统的架构。后端使用Spring Boot提供数据管理和业务逻辑处理的接口,前端使用Vue3进行页面的展示和用户交互。前后端通过RESTful API进行通信,实现数据的请求和响应。 在后端,可以使用Spring Boot提供的JPA或MyBatis等持久层框架来操作数据库,并使用Spring Security来实现用户认证和权限控制。同时,可以使用Spring的缓存、事务管理等特性来提高系统的性能和安全性。 在前端,可以使用Vue3的组件化开发方式构建页面,并使用Vue Router进行页面之间的导航。可以使用Vue3的响应式API和组合API来管理页面的数据和交互逻辑。同时,可以使用Element Plus等常用的UI组件库,提供美观、易用的用户界面。 总而言之,通过使用Spring Boot和Vue3的前后端分离技术,可以构建一个功能强大、性能优越的Wiki知识库系统,实现数据管理、用户认证和权限控制等功能,为用户提供高效的知识管理平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值