vue如何動(dòng)態(tài)配置ip與端口
vue動(dòng)態(tài)配置ip與端口
考慮一個(gè)成品的項(xiàng)目會(huì)給到各地方進(jìn)行部署,而每個(gè)地方的ip和端口均無(wú)法保證統(tǒng)一,為了抽離開(kāi)發(fā)人員的工作,需要對(duì)項(xiàng)目進(jìn)行一定的配置,配置后的項(xiàng)目,只需要修改打包后的配置文件,填寫相關(guān)的ip和端口,即可實(shí)現(xiàn)項(xiàng)目的部署。
由于vue打包后會(huì)生成static包、index文件,為了防止打包后混淆,可以在項(xiàng)目的static文件中新建IPConfig.js文件,如:
var IPConfig = window.IPConfig = {
'IP': 'http://域名',
'HOST': '端口號(hào)'
}如何在項(xiàng)目的index文件中引入
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
<title>ysa</title>
<script type="text/javascript" src="./static/IPConfig.js" async></script>
</head>
<body>
<div id="app-box"></div>
<!-- built files will be auto injected -->
</body>
</html>最后在需要使用到ip和端口的地方,直接使用即可,達(dá)到快速部署的目的
URL: IPConfig.IP + ':' + IPConfig.HOST,
項(xiàng)目打包后static文件中生成的文件為

成品后的項(xiàng)目無(wú)論在哪個(gè)地方部署,只需要修改配置文件中的ip和端口即可使用項(xiàng)目
動(dòng)態(tài)配置IP及端口,打包后隨時(shí)改隨時(shí)生效
一.利用public下的文件不會(huì)被打包的原理
在pubic下生成一個(gè)json文件,在封裝的axios中用原生ajax請(qǐng)求去獲取json文件,根據(jù)自定義的環(huán)境來(lái)設(shè)置接口地址。
config.json文件
{
"url": "http://www.itcbc.com:3006/api/getbooks"
}

下面是簡(jiǎn)單寫了個(gè)ajax請(qǐng)求,點(diǎn)擊事件。
var xhr = new XMLHttpRequest();
xhr.open('GET', "./config.json",true);
xhr.send(null);
xhr.onreadystatechange = function () {
if (xhr.status === 200 && xhr.readyState === 4) {
let baseURL = JSON.parse(xhr.responseText).url
console.log(baseURL)
console.log(xhr)
}
}

然后前端打包生成dist/build目錄。
生成后,要在本地測(cè)下行不行,也就是打包后如何在本地啟動(dòng)服務(wù)運(yùn)行。
1、全局安裝live-server插件
npm install -g live-server
2、在dist/build文件夾(剛剛打包成功后多出來(lái)的文件夾)終端輸入
live-server
效果圖:

然后修改config.json里的url,點(diǎn)擊事件后,打印的url會(huì)變。
二.利用 generate-asset-webpack-plugin 插件
使用 generate-asset-webpack-plugin 插件,配置一大堆文件,通過(guò)請(qǐng)求獲取數(shù)據(jù),安全性高,但過(guò)程麻煩。(網(wǎng)上看的,我沒(méi)試過(guò))
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue3 ts組合式API異常onMounted is called when&
這篇文章主要為大家介紹了vue3 ts組合式API異常onMounted is called when there is no active component問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
vue項(xiàng)目或網(wǎng)頁(yè)上實(shí)現(xiàn)文字轉(zhuǎn)換成語(yǔ)音播放功能
這篇文章主要介紹了在vue項(xiàng)目或網(wǎng)頁(yè)上實(shí)現(xiàn)文字轉(zhuǎn)換成語(yǔ)音,需要的朋友可以參考下2020-06-06
基于Vue3實(shí)現(xiàn)印章徽章組件的示例代碼
這篇文章主要介紹了如何利用vue3實(shí)現(xiàn)簡(jiǎn)單的印章徽章控件,文中通過(guò)示例代碼講解詳細(xì),需要的朋友們下面就跟隨小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
vue.js聲明式渲染和條件與循環(huán)基礎(chǔ)知識(shí)
這篇文章主要為大家詳細(xì)介紹了vue.js聲明式渲染和條件與循環(huán)的基礎(chǔ)知識(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
詳解vue-template-admin三級(jí)路由無(wú)法緩存的解決方案
這篇文章主要介紹了vue-template-admin三級(jí)路由無(wú)法緩存的解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Vue Cli 3項(xiàng)目使用融云IM實(shí)現(xiàn)聊天功能的方法
這篇文章主要介紹了Vue Cli 3項(xiàng)目 使用融云IM實(shí)現(xiàn)聊天功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04

