我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Rainbond怎么调用Vue React项目的后端接口

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Rainbond怎么调用Vue React项目的后端接口

这篇“Rainbond怎么调用Vue React项目的后端接口”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Rainbond怎么调用Vue React项目的后端接口”文章吧。

前言

以往我们在部署前端项目后,调用后端接口有以下几种场景:

后端接口没有统一,比较分散,例如:/system/user,/tool/gen 。

通常我们会在项目的全局配置文件.env.production中直接写入后端ip,例如:

ENV = 'production'VUE_APP_BASE_API = '192.168.6.66:8080'

这样写虽可以正常访问,但会导致产生跨域问题。

后端接口统一,例如:/api/system/user, /api/tool/gen。

大部分小伙伴也还是同样会直接把IP + 后缀写入到项目全局配置文件,例如:

ENV = 'production'VUE_APP_BASE_API = '192.168.6.66:8080/api'

这样写当然了也会有跨域的问题。

那我们该怎么解决接口不统一或接口统一的跨域问题呢。

答:使用Nginx 反向代理。

大部分小伙伴用nginx都是项目打包完的dist包丢进nginx,配置个 location proxy_pass 反向代理后端,然后在项目全局配置里填写Nginx地址。酱紫还是会跨越哦。那究竟该怎么处理呢,请往下看

解决跨域对于不同的场景有以下几种方法:

接口没有统一

接口数量较少的话,比如只有几个接口system tool moitor login getmenu等。

首先需要修改全局配置文件.env.production 的请求api 为**/**,酱紫写前端发起请求的时候会直接转发到nginx。

ENV = 'production'VUE_APP_BASE_API = '/'

其次修改Nginx配置文件,添加多个location,在浏览器请求的时候就会匹配到nginx的location规则,例如:

浏览器请求菜单:http://192.168.6.66/getmenu,会匹配 location /getmenu规则反向代理到后端。

server {      listen       5000;  #静态页面      location / {          root   /app/www;          try_files $uri $uri/ /index.html;          index  index.html index.htm;      }      location /getmenu{          proxy_pass http://127.0.0.1:8080/;      }  }

这种方式固然可以,但对于接口几十个上百个 一一配置很麻烦。

接口数量很多。

同样首先也需要修改全局配置文件.env.production,修改请求接口为 api,这个接口自定义的。有的小伙伴就疑问了,我没有这个接口呀,请接着往下看。

ENV = 'production'VUE_APP_BASE_API = '/api'

紧接着修改Nginx配置文件,在nginx配置文件中添加了location /api,并且添加了 rewrite、proxy_pass,这个 rewrite是URL重写。

例如:请求 http://192.168.6.66/api/system/menu,酱紫请求正常情况发送到后端,后端会报错是没有这个接口的。

我们通过rewrite 重写URL,此时URL就会变成http://192.168.6.66/system/menu并且通过proxy_pass反向代理到后端,此时发送接口请求/system/menu,后端正常返回。

server {    listen       5000;    location / {        root   /app/www;        try_files $uri $uri/ /index.html;        index  index.html index.htm;    }    location  /api {        rewrite ^/api/(.*)$ /$1 break;        proxy_pass http://192.168.2.182:8080;    }}

rewrite ^/api/(.*)$ /$1 break具体可参考Nginx官方文档rewrite_module模块,在这里简单介绍下:

rewrite ^/api/(.*)$ /$1 break

关键字 正则 替代内容 flag标记

接口统一

对于这种就比较好处理了。

同样首先也是修改项目的全局配置文件.env.production,修改请求接口为 /prod-api。这个统一接口是后端提供的哈。

ENV = 'production'VUE_APP_BASE_API = '/prod-api'

修改Nginx配置文件,增加一条location,反向代理到后端地址。

此时在浏览器请求的URL则为:http://192.168.6.66/prod-api/system/menu。

server {    listen       5000;    location / {        root   /app/www;        try_files $uri $uri/ /index.html;        index  index.html index.htm;    }    location  /prod-api {        proxy_pass http://192.168.2.182:8080;    }}

跨域问题解决了,那我们开始实践一次。

本次前端的配置就是上面说的接口统一的方式

接下来部署一个SpringBoot后端项目来配合前端一起使用。

源码部署后端

本项目源码地址 Fork开源项目 若依

后端是SpringBoot + Mysql + Redis 架构。

Dockerfile源码构建部署Mysql

参考官方文档Rainbond 中用 Dockerfile 便捷构建运行应用

通过Dockerfile源码构建部署Mysql。

Dockerfile源码构建需要在项目所需Sql目录放置Dockerfile文件自动初始化数据库。

填写源码仓库地址,填写Mysql子目录 sql,构建Mysql。

确认创建组件,平台会自动识别语言为 dockerfile。

创建,等待构建组件完成即可。

构建完成后,在组件 > 端口中打开对内服务并且修改 别名,点击即可修改,改为MYSQL_HOST,以供后端连接时使用。

Docker镜像部署Redis

通过 docker镜像部署redis,具体参考官方文档docker镜像构建

使用 redis 官方镜像,redis:latest

确认创建,平台会检测出来一些镜像信息,直接创建即可。

构建完成后,在组件 > 端口中打开对内服务。以供后端连接使用

Java源码构建部署 SpringBoot

这里提前修改了后端项目里的配置文件 ruoyi-admin/class="lazy" data-src/main/resources/application-druid.yml连接数据库的配置,改为了环境变量连接,这里就用到了上面修改的端口别名。

以及修改了ruoyi-admin/class="lazy" data-src/main/resources/application.yml文件中的连接Redis配置

# 主库数据源  master:      url: jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/ry-vue?  redis:      # 地址      host: 127.0.0.1      # 端口,默认为6379      port: 6379

通过Java源码构建项目,具体参考官方文档JAVA源码构建

填写源码仓库地址,构建SpringBoot项目。

平台会根据项目根目录的 pom.xml 文件检测是什么项目,这里检测的是多模块项目。

进入多模块构建,勾选ruoyi-admin模块,此模块是可运行的,其他模块都是依赖。具体模块功能参考若依官方文档

可修改Maven构建参数,无特殊要求无需修改。

确认创建,等待构建完成。

这里需要注意,平台默认使用openjdk ,此项目需要使用oraclejdk来生成前端验证码。

需要在组件 > 构建源中修改 JDK类型为自定义JDK,填写自定义JDK下载路径。

需要打开 禁用缓存按钮,防止包不一样出现奇奇怪怪的问题。构建成功后再把禁用缓存关闭,下次构建就缓存正确的包了。

修改后 保存修改。构建组件,等待构建完成,修改端口为 8080 。

进入拓扑图界面,切换为编辑模式,建立组件依赖关系。

**ruoyi-ui **连接 ruoyi-admin。**ruoyi-admin **连接 Mysql、Redis。

更新组件ruoyi-ui ruoyi-admin,至此完成。

最终效果,拓扑图:

Rainbond怎么调用Vue React项目的后端接口

页面效果:

Rainbond怎么调用Vue React项目的后端接口

Rainbond 云原生应用管理平台,实现微服务架构不用改代码,管理 Kubernetes 不用学容器,帮企业实现应用上云,一站式将任何企业应用持续交付到 Kubernetes 集群、混合云、多云等基础设施。是 Rainstore 云原生应用商店的支撑平台。

以上就是关于“Rainbond怎么调用Vue React项目的后端接口”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Rainbond怎么调用Vue React项目的后端接口

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Rainbond怎么调用Vue React项目的后端接口

这篇“Rainbond怎么调用Vue React项目的后端接口”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Rainbond
2023-06-30

Vue中使用axios调用后端接口的坑怎么解决

这篇文章主要讲解了“Vue中使用axios调用后端接口的坑怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中使用axios调用后端接口的坑怎么解决”吧!axios调用后端接口的坑
2023-06-29

vue项目本地开发使用Nginx配置代理后端接口问题

这篇文章主要介绍了vue项目本地开发使用Nginx配置代理后端接口问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-08

vue项目中如何调用多个不同的ip接口

这篇文章主要介绍了vue项目中如何调用多个不同的ip接口,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

vue项目打包之后接口出现错误怎么解决

本篇内容介绍了“vue项目打包之后接口出现错误怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!错误信息这是新建一个项目还原问题,nod
2023-06-30

前端项目中的Vue、React错误监听怎么实现

本篇内容介绍了“前端项目中的Vue、React错误监听怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、 Vue 错误监听题目:如何
2023-06-30

java跨项目调用接口的方法是什么

在Java中,实现跨项目调用接口的方法有几种:1. 使用Java远程方法调用(Java Remote Method Invocation,RMI):RMI允许在不同的Java虚拟机之间进行对象间的远程调用。通过RMI,可以将接口定义和实现分
2023-09-22

axios和SpringBoot前端怎么调用后端接口进行数据交互

这篇文章主要介绍“axios和SpringBoot前端怎么调用后端接口进行数据交互”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“axios和SpringBoot前端怎么调用后端接口进行数据交互”文章
2023-07-05

vue项目使用node连接数据库的方法(前后端分离)

这篇文章主要介绍了vue项目使用node连接数据库(前后端分离),本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-12-22

vue项目中怎么存储与使用后端传递过来的token

这篇“vue项目中怎么存储与使用后端传递过来的token”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue项目中怎么存储与
2023-07-05

怎么使用django和vue项目搭建实现前后端通信

本文小编为大家详细介绍“怎么使用django和vue项目搭建实现前后端通信”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用django和vue项目搭建实现前后端通信”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
2023-07-05

外部项目接口工具类怎么利用HttpClient进行调用

今天就跟大家聊聊有关外部项目接口工具类怎么利用HttpClient进行调用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体方法如下:import java.io.IOExcepti
2023-05-31

Echart图表在项目中的前后端怎么用

这篇文章主要介绍了Echart图表在项目中的前后端怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、项目架构我的文章会涉及图片中的表格使用,如果你都学会了,可以去Ech
2023-06-21

flask和vue前后端分离项目部署的代码怎么写

本篇文章为大家展示了flask和vue前后端分离项目部署的代码怎么写,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前段时间开发了一个项目, 我后端用的是flask框架写接口,前端用的是vue框架,项
2023-06-25

vue多页面前端项目的命令怎么使用

今天小编给大家分享一下vue多页面前端项目的命令怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先,让我们创建一个基
2023-07-06

vue项目中created()被调用多次的问题怎么解决

本文小编为大家详细介绍“vue项目中created()被调用多次的问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue项目中created()被调用多次的问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录