如何快速搭建SpringBoot+Vue前后端分离的开发环境

news2024/9/28 21:20:51

唠嗑部分

今天我们来说一说,如何快速搭建SpringBoot+Vue前后端分离的开发环境

需要前置环境nodejs,请自行安装(傻瓜式安装)

SpringBoot采用2.4.2版本,Vue采用Vue2版本

言归正传

创建Vue项目

1、安装vue

npm install -g @vue/cli

2、检查vue是否安装成功

vue -V

image-20230522150121143

3、创建项目

vue create 项目名

注意:项目名不能有大写字母、中文、特殊符号

4、选择模板和包管理器,等待项目创建完毕

image-20230522150256451

5、精简项目文件

App.vue

image-20230522150908656

HelloWorld.vue

image-20230522150934477

6、运行项目

npm run serve

image-20230522151118011

控制台没有报错,ok

创建SpringBoot项目

1、创建可参考文章:如何创建SpringBoot项目(idea版本)

2、编写测试接口

@PostMapping("/test/getUserList")
public CommonResult getUserList(){
    CommonResult r = CommonResult.success(null);
    List<User> list = new ArrayList<>();
    list.add(User.builder()
             .id(UUID.randomUUID().toString())
             .username("全栈小白")
             .createDatetime(LocalDateTime.now())
             .build());

    list.add(User.builder()
             .id(UUID.randomUUID().toString())
             .username("全栈小陈")
             .createDatetime(LocalDateTime.now())
             .build());
    r.setData(list);
    return r;
}

接口联调

1、安装axios库

yarn add axios

2、在HelloWorld.vue中引入并请求接口

<template>
  <div class="hello">
    <button @click="getUserList">获取用户列表</button>
  </div>
</template>

<script>
import axios from "axios";

export default {
  name: 'HelloWorld',
  data(){
    return {
      userList:[]
    }
  },
  methods:{
    getUserList(){
      axios({
        url: '/api/test/getUserList',
        method: 'post'
      }).then(res => {
        const resp = res.data;
        console.log(resp)
      }).catch(err => console.log(err))
    }
  }
}
</script>

3、配置代理,解决跨域问题,修改vue.config.js

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  lintOnSave:false,     // 禁用eslint
  transpileDependencies: true,
  devServer:{
    host: '127.0.0.1',
    port: 3000,
    open: true,
    proxy: {
      '/api': {
        target: 'http://127.0.0.1:8888',
        pathRewrite: { '^/api': '' }, // 重写路径
        ws: true, // 用于支持websocket
        secure: false,
        changeOrigin: true // 控制请求头中的host,设置服务器看到的请求来源
      }
    }
  }
})

4、测试

image-20230522153101455

结语

1、有关于跨域代理的配置,可参考文章:【一文带你解决跨域问题】

2、制作不易,一键三连再走吧,您的支持永远是我最大的动力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/570982.html

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

相关文章

【2023 · CANN训练营第一季】MindSpore模型快速调优攻略 第一章——调试调优背景介绍

1.模型迁移、模型调试调优背景介绍 模型训练\推理过程中可能遇到的问题&#xff1a; • 代码编写错误&#xff0c;问题难以定位&#xff1b; • 模型结构错误&#xff1b; • 权重更新错误&#xff1b; • 损失函数设计错误&#xff1b; • 半精度下计算溢出&#xff1b; • L…

上线11年公众号广告大变天!最新政策解读|西瓜数据

昨晚&#xff0c;微信公众平台的一则公告&#xff0c;在圈内炸开锅了。 ▲ 图片来源&#xff1a;西瓜数据社群截图 公告称&#xff1a; 公众号运营者与第三方商业合作形式推销商品或者服务&#xff0c;如附加购物链接等购买方式的商业合作营销内容&#xff0c;在2023年6月30日…

迅为RK3568开发板Android 双屏/三屏同显

iTOP-RK3568 开发板支持以下屏幕 迅为 LVDS 7 寸屏幕 迅为 LVDS 10.1 寸 1024*600 屏幕 迅为 LVDS 10.1 寸 1280*800 屏幕 迅为 MIPI 7 寸屏幕 HDMI 屏幕&#xff08;通过 HDMI 线连接&#xff09; HDMI 屏幕&#xff08;通过 VGA 线连接&#xff09; 然后修改 Android1…

Linux系统提权

滥用的SUDO提权 执行流程&#xff1a;当前用户转换到root&#xff0c;然后以root身份执行命令&#xff0c;执行完成后&#xff0c;直接退回到当前用户 注意&#xff1a;执行sudo时输入的命令&#xff0c;是当前用户的密码&#xff0c;而非root密码 sudo配置文件&#xff1a;…

SpringBoot枚举入参实战

文章目录 前言一、什么是枚举&#xff1f;二、枚举的优点三、枚举的缺点四、使用步骤1.代码实现1.1.枚举1.2.实体1.3.控制层 2.Postman测试2.1.Get请求2.1.1.枚举参数2.1.2.对象枚举属性参数 2.2.Post请求2.2.1.枚举参数2.2.2.对象枚举属性参数 2.3.Put请求2.3.1.枚举参数2.3.2…

0基础学习VR全景平台篇第31章:场景功能-嵌入图片

大家好&#xff0c;欢迎收看蛙色平台免费教程&#xff01; 功能位置示意 一、本功能将用在哪里&#xff1f; 嵌入功能可对VR全景作品嵌入【图片】【视频】【文字】【标尺】四种不同类型内容&#xff0c;本次主要带来图片类型的介绍&#xff0c;满足场景营销、重点标注、幻灯片…

node.js+vue.js大学生在线选课系统的设计与实现93pul

本次设计任务是要设计一个选课系统的设计与实现&#xff0c;通过这个系统能够满足用户对选课信息的需求。系统的主要功能包括&#xff1a;个人中心、学生管理、教师管理、选课信息管理等功能。 管理员可以根据系统给定的账号进行登录&#xff0c;登录后可以进入选课系统的设计与…

操作系统第四章——文件管理(下)

竹本无心&#xff0c;却节外生枝&#xff0c;藕却有孔&#xff0c;但出淤泥而不染&#xff0c;人生如梦&#xff0c;却却不随人愿&#xff0c;万般皆是命&#xff0c;半点不由人 文章目录 4.1.5 逻辑结构VS物理结构4.1.6 文件的基本操作知识总览创建文件删除文件打开文件关闭文…

超融合产品集成 Kata 虚拟化容器技术的方案演进 | 龙蜥技术

编者按&#xff1a;超融合技术融合基础实施为企业用户提供虚拟化、容器等不同形态的服务。今天&#xff0c;浪潮数据超融合云原生工程师王永超带大家了解 Kata 虚拟化容器技术&#xff0c;及超融合产品为集成 Kata 容器而进行技术方案演进历程&#xff0c;也分享了超融合 Kata …

Pinctrl/Gpio简介(以应用层角度修改设备树)

1.先举个例子 1 、添加 pinctrl 节点 iomuxc 节点就是 I.MX6ULL 的 IOMUXC 外设对应的节点 imx6ull.dtsi iomuxc: iomuxc020e0000 {compatible "fsl,imx6ul-iomuxc";reg <0x020e0000 0x4000>; }imx6ull.dts 根节点下 gpioled {#address-cells <1>;…

深入业务场景的数据使用安全管控实践

《数据安全法》第三条对数据安全给出了明确的定义&#xff1a;“数据处理包括数据的收集、存储、使用、加工、传输、提供、公开等。数据安全是指通过采取必要措施&#xff0c;确保数据处于有效保护和合法利用的状态&#xff0c;以及具备保障持续安全状态的能力。” 数据随着业…

Python 学到什么程度才可以去找工作?掌握这 4 点足够了!

大家在学习Python的时候&#xff0c;有人会问“Python要学到什么程度才能出去找工作”&#xff0c;对于在Python培训机构学习Python的同学来说这都不是问题&#xff0c;因为按照Python课程大纲来&#xff0c;一般都不会有什么问题&#xff0c;而对于自学Python来说&#xff0c;…

【2023B题】人工智能对大学生学习影响的评价(思路、代码)

目录 &#x1f4a5;1 概述 &#x1f4da;2 Matlab代码实现 &#x1f389;3 参考文献 &#x1f308;4 运行结果 &#x1f4a5;1 概述 人工智能简称AI&#xff0c;最初由麦卡锡、明斯基等科学家于1956年在美国达特茅斯学院开会研讨时提出。 2016年&#xff0c;人工智能AlphaGo …

【day 06】vue的组件

组件 组件就是把一个网页分割成独立的小的模块&#xff0c;然后通过把模块进行组合&#xff0c;构建成一个大型的应用 单文件组件 只有一个组件 html css js 都在这个文件内 非单文件组件 可有多个组件 全局注册 !! 得先注册子组件 再生成 vm实例对象 创建子组件 const …

JS - 写一个简单的静态页面支持上传文件并转Base64编码

JS - 写一个简单的静态页面支持上传文件并转Base64编码 前言静态页面代码 前言 我后端有一个上传文件并判断其文件类型的功能&#xff0c;我希望拿不同的文件流进行测试&#xff0c;但是文件的请求体又得获得。拿来作为参数传递。因此写了个静态文件去获取。 静态页面代码 &…

STM32用CUBEMx生成工程, 不使用CMSIS, 自己移植freertos

目录 完整工程代码: 零. 参考 一. 外围配置 二, 放进来freertos源代码 三.修改makefile 四. 解决修改函数重定义报错 五. 让Freertos的systick工作起来 六. 验证 完整工程代码: ​​​​​​https://download.csdn.net/download/u011493332/87821404 零. 参考 正在入门…

虚拟机磁盘扩容及重新分区方法

创建虚拟机的时候&#xff0c;如果分配的磁盘过小&#xff0c;在后续的使用时可能需要进行扩容&#xff0c;在扩容后你会发现好像磁盘并没有变大&#xff0c;这时候就需要进行重新分区 一、虚拟机扩容 在将需要扩容的虚拟机关机后&#xff0c;点击VMware的菜单栏中的虚拟机&…

面试:前端安全之XSS及CSRF

一、概念&#xff1a; XSS攻击全称跨站脚本攻击(Cross Site Scripting); CSRF&#xff08;Cross-site request forgery&#xff09;跨站请求伪造&#xff0c;也被称为“One Click Attack”或者Session Riding&#xff0c;通常缩写为CSRF或者XSRF;是一种挟制用户在当前已登录的…

合同管理系统对企业的重要性,不仅能降本增效,还能规避风险

企业管理合同有哪些通病 企业在管理合同会经常遇到在约定条款时存在空泛、笼统的情况&#xff0c;导致在实际操作时产生争议&#xff0c;没有系统化进行操作规范&#xff0c;由于签订合同的时候可能存在一些法律问题&#xff0c;如未经授权签署的合同、涉及侵犯他人权益的条款…

港联证券|北向资金为何大量买入?哪些股容易受到青睐?

北向资金由于流动情况透明且披露及时&#xff0c;一直备受投资者们的关注。那么北向资金为何大量买入&#xff1f;哪些股容易受到青睐&#xff1f;港联证券也为大家准备了相关内容&#xff0c;以供参考。 北向资金为何大量买入&#xff1f; 1、中国经济增长预期较好。这为北向…