electron-vite工具打包后如何通過內(nèi)置配置文件動態(tài)修改接口地址
前言
使用electron-vite 工具開發(fā)項目打包完后每次要改接口地址都要重新打包,對于多環(huán)境切換或者頻繁變更接口地址就顯得麻煩。如果能在安裝目錄添加一個可配置文件,通過修改配置文件內(nèi)容改變接口地址問題將迎刃而解。這里記錄下一種實現(xiàn)方法。
一、實現(xiàn)過程
1、配置文件(json格式)放置resources資源文件夾下,將同步打包到應(yīng)用內(nèi)部,安裝后可在安裝目錄找到
2、啟動應(yīng)用時在App.vue通知主進程通過node fs模塊讀取配置文件接口地址,并緩存到本地
3、接口請求封裝文件(axios)baseURL從本地緩存獲取
二、代碼演示
1.resources/env.json
{ "baseUrl":"http://192.168.2.xxx:xxxx" }
新建一個json文件內(nèi)置接口地址
2.App.vue
<script setup> import { ref, onBeforeMount } from 'vue' onBeforeMount(async () => { let url = await window.electron.ipcRenderer.invoke('baseUrl') if (url) { localStorage.setItem('baseUrl', url) } }) </script>
應(yīng)用啟動開始時從主進程獲取接口地址,緩存到本地localStorage(當然也可以選擇緩存到pinia或vuex等)
3.main/index.js
const fs = require('fs'); //獲取接口baseurl ipcMain.handle('baseUrl',()=>{ const rawData = fs.readFileSync(join(__dirname, '../../resources/env.json'),"utf-8"); const config = JSON.parse(rawData); return config.baseUrl||'' })
主進程通過fs讀取env.json內(nèi)接口地址返回給渲染層
4.request.js
const baseURL = localStorage.getItem('baseUrl')??'' const http = axios.create({ baseURL, timeout: 100000, ..... ..... }) ..... .....
接口請求統(tǒng)一封裝文件內(nèi),從緩存獲取接口地址并設(shè)置
5.安裝后修改
打開安裝目錄,在resources\app.asar.unpacked\resources文件夾下可找到env.json配置文件,修改完配置完全退出應(yīng)用并重啟生效
到此這篇關(guān)于electron-vite工具打包后通過內(nèi)置配置文件動態(tài)修改接口地址實現(xiàn)方法的文章就介紹到這了,更多相關(guān)electron-vite工具打包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue調(diào)用本地緩存方式(監(jiān)視數(shù)據(jù)變更)
這篇文章主要介紹了vue調(diào)用本地緩存方式(監(jiān)視數(shù)據(jù)變更),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04Vue中消息橫向滾動時setInterval清不掉的問題及解決方法
最近在做項目時,需要進行兩個組件聯(lián)動,一個輪詢獲取到消息,然后將其傳遞給另外一個組件進行橫向滾動展示,結(jié)果滾動的速度越來越快。接下來通過本文給大家分享Vue中消息橫向滾動時setInterval清不掉的問題及解決方法,感興趣的朋友一起看看吧2019-08-08vue 數(shù)據(jù)(data)賦值問題的解決方案
這篇文章主要介紹了vue 數(shù)據(jù)(data)賦值問題的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Vue結(jié)合ElementUI實現(xiàn)數(shù)據(jù)請求和頁面跳轉(zhuǎn)功能(最新推薦)
我們在Proflie.vue實例中,有beforeRouteEnter、beforeRouteLeave兩個函數(shù)分別是進入路由之前和離開路由之后,我們可以在這兩個函數(shù)之內(nèi)進行數(shù)據(jù)的請求,下面給大家分享Vue結(jié)合ElementUI實現(xiàn)數(shù)據(jù)請求和頁面跳轉(zhuǎn)功能,感興趣的朋友一起看看吧2024-05-05詳解為什么Vue中不要用index作為key(diff算法)
這篇文章主要介紹了詳解為什么Vue中不要用index作為key(diff算法),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04