欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Rainbond調(diào)用Vue?React項(xiàng)目的后端接口

 更新時(shí)間:2022年04月20日 16:25:55   作者:張齊  
這篇文章主要為大家介紹了Rainbond調(diào)用Vue?React項(xiàng)目的后端接口問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Rainbond中怎么部署 Vue 、React 項(xiàng)目請(qǐng)參考 Rainbond部署Vue、React項(xiàng)目

前言

以往我們?cè)诓渴鹎岸隧?xiàng)目后,調(diào)用后端接口有以下幾種場景:

后端接口沒有統(tǒng)一,比較分散,例如:/system/user,/tool/gen 。

通常我們會(huì)在項(xiàng)目的全局配置文件.env.production中直接寫入后端ip,例如:

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

這樣寫雖可以正常訪問,但會(huì)導(dǎo)致產(chǎn)生跨域問題。

后端接口統(tǒng)一,例如:/api/system/user, /api/tool/gen。

大部分小伙伴也還是同樣會(huì)直接把IP + 后綴寫入到項(xiàng)目全局配置文件,例如:

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

這樣寫當(dāng)然了也會(huì)有跨域的問題。

那我們?cè)撛趺唇鉀Q接口不統(tǒng)一或接口統(tǒng)一的跨域問題呢。

? 答:使用Nginx 反向代理。

? 大部分小伙伴用nginx都是項(xiàng)目打包完的dist包丟進(jìn)nginx,配置個(gè) location proxy_pass 反向代理后端,然后在項(xiàng)目全局配置里填寫Nginx地址。醬紫還是會(huì)跨越哦。那究竟該怎么處理呢,請(qǐng)往下看

解決跨域?qū)τ诓煌膱鼍坝幸韵聨追N方法:

接口沒有統(tǒng)一

接口數(shù)量較少的話,比如只有幾個(gè)接口system tool moitor login getmenu等。

首先需要修改全局配置文件.env.production 的請(qǐng)求api 為**/**,醬紫寫前端發(fā)起請(qǐng)求的時(shí)候會(huì)直接轉(zhuǎn)發(fā)到nginx。

ENV = 'production'
VUE_APP_BASE_API = '/'

其次修改Nginx配置文件,添加多個(gè)location,在瀏覽器請(qǐng)求的時(shí)候就會(huì)匹配到nginx的location規(guī)則,例如:

? 瀏覽器請(qǐng)求菜單:http://192.168.6.66/getmenu,會(huì)匹配 location /getmenu規(guī)則反向代理到后端。

server {
      listen       5000;
  		#靜態(tài)頁面
      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/;
      }
  }

這種方式固然可以,但對(duì)于接口幾十個(gè)上百個(gè) 一一配置很麻煩。

接口數(shù)量很多。

同樣首先也需要修改全局配置文件.env.production,修改請(qǐng)求接口為 api,這個(gè)接口自定義的。有的小伙伴就疑問了,我沒有這個(gè)接口呀,請(qǐng)接著往下看。

ENV = 'production'
VUE_APP_BASE_API = '/api'

緊接著修改Nginx配置文件,在nginx配置文件中添加了location /api,并且添加了 rewrite、proxy_pass,這個(gè) rewrite是URL重寫。

例如:請(qǐng)求 http://192.168.6.66/api/system/menu,醬紫請(qǐng)求正常情況發(fā)送到后端,后端會(huì)報(bào)錯(cuò)是沒有這個(gè)接口的。

我們通過rewrite 重寫URL,此時(shí)URL就會(huì)變成http://192.168.6.66/system/menu并且通過proxy_pass反向代理到后端,此時(shí)發(fā)送接口請(qǐng)求/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

? 關(guān)鍵字 正則 替代內(nèi)容 flag標(biāo)記

接口統(tǒng)一

對(duì)于這種就比較好處理了。

同樣首先也是修改項(xiàng)目的全局配置文件.env.production,修改請(qǐng)求接口為 /prod-api。這個(gè)統(tǒng)一接口是后端提供的哈。

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

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

此時(shí)在瀏覽器請(qǐng)求的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;
    }
}

跨域問題解決了,那我們開始實(shí)踐一次。

本次前端的配置就是上面說的接口統(tǒng)一的方式

接下來部署一個(gè)SpringBoot后端項(xiàng)目來配合前端一起使用。

源碼部署后端

本項(xiàng)目源碼地址 Fork開源項(xiàng)目 若依

后端是SpringBoot + Mysql + Redis 架構(gòu)。

Dockerfile源碼構(gòu)建部署Mysql

參考官方文檔Rainbond 中用 Dockerfile 便捷構(gòu)建運(yùn)行應(yīng)用

通過Dockerfile源碼構(gòu)建部署Mysql。

? Dockerfile源碼構(gòu)建需要在項(xiàng)目所需Sql目錄放置Dockerfile文件自動(dòng)初始化數(shù)據(jù)庫。

? Dockerfile文件可參考https://gitee.com/zhangbigqi/RuoYi-Vue.git 此項(xiàng)目下的 sql 目錄

填寫源碼倉庫地址,填寫Mysql子目錄 sql,構(gòu)建Mysql。

確認(rèn)創(chuàng)建組件,平臺(tái)會(huì)自動(dòng)識(shí)別語言為 dockerfile。

創(chuàng)建,等待構(gòu)建組件完成即可。

構(gòu)建完成后,在組件 > 端口中打開對(duì)內(nèi)服務(wù)并且修改 別名,點(diǎn)擊即可修改,改為MYSQL_HOST,以供后端連接時(shí)使用。

Docker鏡像部署Redis

通過 docker鏡像部署redis,具體參考官方文檔docker鏡像構(gòu)建

使用 redis 官方鏡像,redis:latest

確認(rèn)創(chuàng)建,平臺(tái)會(huì)檢測出來一些鏡像信息,直接創(chuàng)建即可。

構(gòu)建完成后,在組件 > 端口中打開對(duì)內(nèi)服務(wù)。以供后端連接使用

Java源碼構(gòu)建部署 SpringBoot

這里提前修改了后端項(xiàng)目里的配置文件 ruoyi-admin/src/main/resources/application-druid.yml連接數(shù)據(jù)庫的配置,改為了環(huán)境變量連接,這里就用到了上面修改的端口別名。

以及修改了ruoyi-admin/src/main/resources/application.yml文件中的連接Redis配置

# 主庫數(shù)據(jù)源
  master:
      url: jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/ry-vue?
  redis:
      # 地址
      host: 127.0.0.1
      # 端口,默認(rèn)為6379
      port: 6379

通過Java源碼構(gòu)建項(xiàng)目,具體參考官方文檔JAVA源碼構(gòu)建

填寫源碼倉庫地址,構(gòu)建SpringBoot項(xiàng)目。

平臺(tái)會(huì)根據(jù)項(xiàng)目根目錄的 pom.xml 文件檢測是什么項(xiàng)目,這里檢測的是多模塊項(xiàng)目。

進(jìn)入多模塊構(gòu)建,勾選ruoyi-admin模塊,此模塊是可運(yùn)行的,其他模塊都是依賴。具體模塊功能參考若依官方文檔

可修改Maven構(gòu)建參數(shù),無特殊要求無需修改。

確認(rèn)創(chuàng)建,等待構(gòu)建完成。

? 這里需要注意,平臺(tái)默認(rèn)使用openjdk ,此項(xiàng)目需要使用oraclejdk來生成前端驗(yàn)證碼。

? 需要在組件 > 構(gòu)建源中修改 JDK類型為自定義JDK,填寫自定義JDK下載路徑。

自定義JDK下載地址:http://www.dbjr.com.cn/softs/596666.html

需要打開 禁用緩存按鈕,防止包不一樣出現(xiàn)奇奇怪怪的問題。構(gòu)建成功后再把禁用緩存關(guān)閉,下次構(gòu)建就緩存正確的包了。

修改后 保存修改。構(gòu)建組件,等待構(gòu)建完成,修改端口為 8080 。

進(jìn)入拓?fù)鋱D界面,切換為編輯模式,建立組件依賴關(guān)系。

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

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

最終效果,拓?fù)鋱D:

頁面效果:

Rainbond 云原生應(yīng)用管理平臺(tái),實(shí)現(xiàn)微服務(wù)架構(gòu)不用改代碼,管理 Kubernetes 不用學(xué)容器,幫企業(yè)實(shí)現(xiàn)應(yīng)用上云,一站式將任何企業(yè)應(yīng)用持續(xù)交付到 Kubernetes 集群、混合云、多云等基礎(chǔ)設(shè)施。是 Rainstore 云原生應(yīng)用商店的支撐平臺(tái)。

1. Rainbond 官網(wǎng)

2. Rainbond 安裝使用

3. Rainbond 參考手冊(cè)全集

以上就是Rainbond調(diào)用Vue React項(xiàng)目的后端接口的詳細(xì)內(nèi)容,更多關(guān)于Rainbond調(diào)用Vue React后端接口的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • K8s創(chuàng)建資源的兩種方法實(shí)例

    K8s創(chuàng)建資源的兩種方法實(shí)例

    而在我看來,在學(xué)習(xí)K8S之前,有必要對(duì)K8S的資源對(duì)象有個(gè)全局的概念,下面這篇文章主要給大家介紹了關(guān)于K8s創(chuàng)建資源的兩種方法,需要的朋友可以參考下
    2022-05-05
  • K8S之StatefulSet有狀態(tài)服務(wù)詳解

    K8S之StatefulSet有狀態(tài)服務(wù)詳解

    本文主要介紹了K8S之StatefulSet有狀態(tài)服務(wù)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • kubernetes 使用jq命令對(duì)資源配置查看方式

    kubernetes 使用jq命令對(duì)資源配置查看方式

    這篇文章主要介紹了kubernetes 使用jq命令對(duì)資源配置查看方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解

    Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解

    這篇文章主要為大家介紹了Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • K8S刪除pod的4種方法小結(jié)

    K8S刪除pod的4種方法小結(jié)

    在Kubernetes集群環(huán)境中工作時(shí),有時(shí)會(huì)遇到需要從一個(gè)工作節(jié)點(diǎn)中刪除pod的情況,下面這篇文章主要給大家介紹了關(guān)于K8S刪除pod的4種方法,需要的朋友可以參考下
    2024-01-01
  • Kubernetes調(diào)度管理優(yōu)先級(jí)和搶占機(jī)制詳解

    Kubernetes調(diào)度管理優(yōu)先級(jí)和搶占機(jī)制詳解

    這篇文章主要為大家介紹了Kubernetes調(diào)度管理優(yōu)先級(jí)和搶占機(jī)制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 在K8S中實(shí)現(xiàn)會(huì)話保持的兩種方案

    在K8S中實(shí)現(xiàn)會(huì)話保持的兩種方案

    這篇文章主要介紹了在K8S中實(shí)現(xiàn)會(huì)話保持的兩種方案,每種方案結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Rainbond上部署API?Gateway?Kong及環(huán)境配置教程

    Rainbond上部署API?Gateway?Kong及環(huán)境配置教程

    這篇文章主要為大家介紹了Rainbond上部署API?Gateway?Kong及環(huán)境配置教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • K8s實(shí)戰(zhàn)教程之容器和?Pods資源分配問題

    K8s實(shí)戰(zhàn)教程之容器和?Pods資源分配問題

    這篇文章主要介紹了K8s實(shí)戰(zhàn)教程之容器和?Pods資源分配,本篇文章通過配置集群中運(yùn)行的容器的?CPU?請(qǐng)求和限制,你可以有效利用集群上可用的?CPU?資源,通過將?Pod?CPU?請(qǐng)求保持在較低水平,可以使?Pod?更有機(jī)會(huì)被調(diào)度,需要的朋友可以參考下
    2022-07-07
  • kubernetes k8s 存儲(chǔ)動(dòng)態(tài)掛載配置詳解

    kubernetes k8s 存儲(chǔ)動(dòng)態(tài)掛載配置詳解

    這篇文章主要為大家介紹了kubernetes k8s 存儲(chǔ)動(dòng)態(tài)掛載配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評(píng)論