翼度科技»论坛 编程开发 JavaScript 查看内容

electron-vite工具打包后如何通过内置配置文件动态修改接口地址

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
前言

使用electron-vite 工具开发项目打包完后每次要改接口地址都要重新打包,对于多环境切换或者频繁变更接口地址就显得麻烦。如果能在安装目录添加一个可配置文件,通过修改配置文件内容改变接口地址问题将迎刃而解。这里记录下一种实现方法。

一、实现过程
  1. 1、配置文件(json格式)放置resources资源文件夹下,将同步打包到应用内部,安装后可在安装目录找到2、启动应用时在App.vue通知主进程通过node fs模块读取配置文件接口地址,并缓存到本地3、接口请求封装文件(axios)baseURL从本地缓存获取
复制代码
二、代码演示


1.resources/env.json
  1. {
  2.   "baseUrl":"http://192.168.2.xxx:xxxx"
  3. }
复制代码
新建一个json文件内置接口地址

2.App.vue
  1. <script setup>
  2. import { ref, onBeforeMount } from 'vue'
  3. onBeforeMount(async () => {
  4.   let url = await window.electron.ipcRenderer.invoke('baseUrl')
  5.   if (url) {
  6.     localStorage.setItem('baseUrl', url)
  7.   }
  8. })
  9. </script>
复制代码
应用启动开始时从主进程获取接口地址,缓存到本地localStorage(当然也可以选择缓存到pinia或vuex等)

3.main/index.js
  1. const fs = require('fs');
  2. //获取接口baseurl
  3. ipcMain.handle('baseUrl',()=>{
  4.   const rawData = fs.readFileSync(join(__dirname, '../../resources/env.json'),"utf-8");
  5.   const config = JSON.parse(rawData);
  6.   return config.baseUrl||''
  7. })
复制代码
主进程通过fs读取env.json内接口地址返回给渲染层

4.request.js
  1. const baseURL = localStorage.getItem('baseUrl')??''
  2. const http = axios.create({
  3.   baseURL,
  4.   timeout: 100000,
  5.    .....
  6.    .....
  7. })
  8. .....
  9. .....
复制代码
接口请求统一封装文件内,从缓存获取接口地址并设置

5.安装后修改


打开安装目录,在resources\app.asar.unpacked\resources文件夹下可找到env.json配置文件,修改完配置完全退出应用并重启生效
到此这篇关于electron-vite工具打包后通过内置配置文件动态修改接口地址实现方法的文章就介绍到这了,更多相关electron-vite工具打包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/javascript/320965ukz.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具