国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue打包部署到服務器,動態(tài)獲取(修改)對應服務器的請求ip

這篇具有很好參考價值的文章主要介紹了vue打包部署到服務器,動態(tài)獲取(修改)對應服務器的請求ip。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

需求:
vue打包后的文件要部署到不同的服務器上,ip不同,每次部署都要修改對應服務器的ip后打包上線,所以會出現(xiàn)頻繁打包的情況
問題:vue項目打包上線不同服務器,需要打包一次能夠動態(tài)的修改ip地址
思路1:
1.由于vue項目里面public文件在打包時不會被影響,所以可以在public文件夾下加入一個js文件,用來存儲ip接口

2.在js文件里:window.VITE_BASE_URL = '對應服務器請求的ip'

public>webconfig.js

// window.VITE_BASE_URL = '地址ip1'
// window.VITE_BASE_URL = '地址ip2'
window.VITE_BASE_URL = '地址ip3'

// 打包后手動修改這塊對應IP即可


3.這個ip可以存儲到window對象里,在入口文件index.html里引入public里面的js文件(這里要注意引入路徑,打包前和打包后index.html和public文件夾的層級關系)

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    ...
    <script src="./webconfig.js"></script>
    ...
  </head>
  <body>
    <div id="app">
      ...
    </div>
  </body>
</html>


4.修改所有用到基地址的請求,一般在axios基礎配置文件里,把從vue引入的ip換成window.VITE_BASE_URL

const config: {
  base_url: string
  result_code: number | string
  default_headers: AxiosHeaders
  request_timeout: number
} = {
  // 拼接window.VITE_BASE_URL
  base_url: window.VITE_BASE_URL + import.meta.env.VITE_API_URL,
  result_code: 200,
  request_timeout: 30000,
  default_headers: 'application/json'
}

export { config }


5.打包時只要修改public文件里的window.VITE_BASE_URL的內(nèi)容對應到服務器就可以了
思路2:
1.請求接口的基本ip和瀏覽該網(wǎng)頁輸入的IP地址相同(端口可能不同)
2.在輸入網(wǎng)址后就獲取到網(wǎng)址欄的IP,還是在public文件夾里面添加一個js文件,index.html引入該文件
webconfig.js文件內(nèi)容


var baseUrl = location.protocol + '//' + location.host
baseUrl = baseUrl.slice(0, baseUrl.length - 5)
console.log('獲取的網(wǎng)址ip===>', baseUrl)
window.VITE_BASE_URL = baseUrl + '端口'


3.同思路1-第四步
4.這樣打包后就不用在去修改js文件,直接部署服務器就行

衍生問題:
我的vue項目中出現(xiàn)以下情況
按照上述的步驟實現(xiàn)動態(tài)獲取后,當token過期后,會觸發(fā)一個重新登錄的操作,當用戶點擊重新登錄后,跳轉(zhuǎn)登錄頁面,這時window.VITE_BASE_URL就獲取不到了(判斷時路徑重定向后,清除了寫入window的對象),會導致請求接口地址錯誤
解決思路:
思路1.重新刷新讓index.html文件執(zhí)行一次,加載public里面的js文件重新在window對象里存入IP(當跳轉(zhuǎn)到登錄頁后,使用延遲器強制刷新頁面一次)

步驟:

(1)在路由加載前存入本地一個標識

// token過期檢測為請求接口的時候
// 執(zhí)行登出操作
// 此刻時機寫入
// 干掉token后再走一次路由讓它過router.beforeEach的校驗
window.location.href = window.location.href  // 觸發(fā)路由校驗
localStorage.setItem('LOGIN_TIP', '1')  // 本地存入刷新標識

(2)根據(jù)標識刷新頁面

// 路由加載前
router.beforeEach(async (to, from, next) => {
    if(token){
        ...
    }else{
        next(`/login?redirect=${to.fullPath}`) // 否則全部重定向到登錄頁 
        // token過期跳轉(zhuǎn)登錄頁后
        if (localStorage.getItem('LOGIN_TIP')) { // 找到刷新標識
            setTimeout(() => {
              window.location.reload(true) // 強制刷新頁面
              localStorage.removeItem('LOGIN_TIP') // 清除標識,不然會一直重復刷新
            }, 1000) // 延遲不能為0,否則達不到效果
        }
    }
}

3. 刷新會再次執(zhí)行index.html文件,從而執(zhí)行webconfig.js,寫入window.VITE_BASE_URL

END文章來源地址http://www.zghlxwxcb.cn/news/detail-753852.html

到了這里,關于vue打包部署到服務器,動態(tài)獲取(修改)對應服務器的請求ip的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Vite打包Vue3項目,利用寶塔部署到服務器

    Vite打包Vue3項目,利用寶塔部署到服務器

    按照如圖的配置,將vite.config.js的 base 改為? /dist/ 然后npm run build 就會得到左邊的這個dist文件夾,這就是打包好的文件 創(chuàng)建項目以及項目配置 我在服務器安裝的php是5.6版本的,其他版本可以自己試一下 解決刷新404問題 上傳成功之后,文件目錄結(jié)構(gòu)是這樣的 (順序不一定要

    2024年04月13日
    瀏覽(172)
  • Vue項目上線打包好的文件如何在服務器上部署?

    Vue項目上線打包好的文件如何在服務器上部署?

    1.打開router下的js文件,調(diào)成hash模式: mode:\\\'hash\\\' ? 2.終端輸入: npm run build 3.此時項目中會多出一個dist的文件,這個文件就是我們打包出來的項目 ? (1)建立一個新的文件夾 (2)終端輸入命令: npm init (3)輸入: xxx_server (4)然后一路按回車到文件夾——框架完成,如下圖

    2024年02月11日
    瀏覽(42)
  • Vue.js:Vue-Router動態(tài)路由從服務器接口獲取路由數(shù)據(jù)

    文檔 https://v3.router.vuejs.org/zh/installation.html 版本號 有幾種方式實現(xiàn)動態(tài)路由: 前端配置 完整路由 ,通過接口返回的數(shù)據(jù)判斷是否可顯示,是否可訪問 前端配置 部分路由 ,由后端接口返回的數(shù)據(jù)生成新路由 拋開路由的思維,是否能直接通過 url查詢參數(shù) 或者是 動態(tài)路徑參數(shù)

    2024年02月08日
    瀏覽(86)
  • 手把手教你如何把vue項目打包后部署到服務器(小白教程)

    手把手教你如何把vue項目打包后部署到服務器(小白教程)

    一.需要用到的工具 vscode 下載鏈接:Visual Studio Code - Code Editing. Redefined FinalShell 下載鏈接:FinalShell官網(wǎng) 二.打包步驟 1.vscode打開你的vue項目-- 點終端 -- 輸入npm run build 按回車進行打包; ?2.打包成功 , 生成了dist文件夾, 打包好的文件會默認存放在里面; ? 三. 用FinalShell連接服

    2024年02月16日
    瀏覽(37)
  • 關于前端vue打包項目以及靜態(tài)網(wǎng)站部署項目到阿里云ECS云服務器初學簡單教程

    關于前端vue打包項目以及靜態(tài)網(wǎng)站部署項目到阿里云ECS云服務器初學簡單教程

    準備工作: 1.首先進入https://ecs.console.aliyun.com/?領取或者購買一臺簡單的ECS云服務器。 進入網(wǎng)站注冊登錄后拉到頁面最下面或者頂部搜索免費云服務器領取立即試用 ,當然富哥花錢買一臺服務器也行。 ? 創(chuàng)建完了以后可以進入云服務ECS工作臺,然后就是以下界面 ? 點擊右邊

    2024年02月04日
    瀏覽(103)
  • SpringBoot + Vue2項目打包部署到服務器后,使用Nginx配置SSL證書,配置訪問HTTP協(xié)議轉(zhuǎn)HTTPS協(xié)議

    SpringBoot + Vue2項目打包部署到服務器后,使用Nginx配置SSL證書,配置訪問HTTP協(xié)議轉(zhuǎn)HTTPS協(xié)議

    配置nginx.conf文件,這個文件一般在/etc/nginx/...中,由于每個人的體質(zhì)不一樣,也有可能在別的路徑里,自己找找... 證書存放位置,可自定義存放位置 兩個文件 后端配置 把.pfx拷貝到resource下,然后配置一下yml

    2024年02月02日
    瀏覽(100)
  • uniapp打包h5部署到服務器

    uniapp打包h5部署到服務器

    在學習uniapp,部署前后端分離項目。將h5的dist文件打包好后一直在考慮如何通過nginx反向代理到后端接口,整了半天也沒整成。最后才發(fā)現(xiàn),uniapp打包的h5頁面包好像不需要反向代理到后端接口,只需要通過nginx將dist下的h5包代理了,直接訪問后端接口即可。如果不知道如何打

    2024年02月01日
    瀏覽(20)
  • 打包前后端項目并部署至服務器

    打包前后端項目并部署至服務器

    打包命令: npm run build 執(zhí)行完命令后,會生成一個名為 dist 的文件夾,這個就是打包好的前端項目。 2.1、執(zhí)行 maven 的 clean ,刪除項目編譯創(chuàng)建的 target 文件夾 2.2、執(zhí)行 package,將項目打包至 target 文件夾下 3.1、連接服務器 3.2、在根目錄創(chuàng)建文件夾,并上傳打包好的前后端項

    2024年01月23日
    瀏覽(95)
  • 前端如何將項目打包部署到服務器

    前端如何將項目打包部署到服務器

    ? 本篇文章從前端項目打包開始,逐步完成項目部署到服務器的操作,這次咱們采取的部署方案是通過vscode中Remote-SSH和SFTP兩個插件實現(xiàn)項目部署到服務器,并在服務器上通過nginx代理將請求轉(zhuǎn)發(fā)到對應的端口。 ? 先將自己開發(fā)完成的本地項目進行打包,打包之后會產(chǎn)生一個

    2024年03月14日
    瀏覽(32)
  • Linux服務器Jenkins部署打包Android

    Linux服務器Jenkins部署打包Android

    介紹 Jenkins 自動打包 Android 應用,后面介紹打包Flutter應用,然后介紹打包Android原生+Flutter混合應用 準備工作 1.jenkins服務器地址 賬戶密碼 2.項目git地址 訪問賬號密碼 3.ssh 鏈接服務器賬戶密碼 安裝Android環(huán)境 Android SDK下載 國內(nèi)老版本下載地址 官網(wǎng)下載地址 下載到本地使用使

    2024年02月10日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包