electron-vue 项目启动动态获取配置文件中的后端服务地址

electron-vue 项目启动动态获取配置文件中的后端服务地址

前言

  最近的项目迭代中新增一个需求,需要在electron-vue 项目打包之后,启动exe 可执行程序的时候,动态获取配置文件中的 baseUrl 作为服务端地址。electron 可以使用 node 的 fs 模块来读取配置文件,但是在项目打包之后项目的静态资源都会被编译成其他文件,本文来记录下相关实现和知识点。

正文

1、根目录下创建配置文件 config.conf,里面写入baseUrl (注意这里通过 json 格式写入),如下:

2、配置打包时对资源进行复制,在 package.json 中修改build的配置

  这里需要注意 electron-builder 中两个常用的配置选项:extraResources 拷贝资源到打包后文件的 Resources 目录中,extraFiles 拷贝资源到打包目录的根路径下,这里使用extraResources ,其中 from 表示需要打包的资源文件路径,to 值为 “../” 表示根路径。

3、在项目启动的时候通过node 的 fs 模块读取配置文件数据,并替换为 baseUrl

(1) 创建getBaseUrl.js 文件实现读取操作,并返回读取数据,如下:

  代码如下:

const { app } = require(“electron”).remote;const path = require(“path”);const fs = require(“fs”); export function getSystem() { //这是mac系统 if (process.platform == “darwin”) { return 1; } //这是windows系统 if (process.platform == “win32”) { return 2; } //这是linux系统 if (process.platform == “linux”) { return 3; }}/** * * @returns 获取安装路径 */export function getExePath() { return path.dirname(app.getPath(“exe”));}/** * * @returns 获取配置文件路径 */export function getConfigPath() { if (getSystem() === 1) { return getExePath() + “/config.conf”; } else { return getExePath() + “config.conf”; }}/** * 读取配置文件 */export function readConfig(callback) { fs.readFile(getConfigPath(), “utf-8”, (err, data) => { if (data) { //有值 const config = JSON.parse(data); callback(config); } });}

(2)在项目启动后加载的vue文件中调用该函数,异步改变baseUrl

4、测试

  打包之后配置文件会被拷贝过来

  同样,页面也能拿到对应的数据,这样就可以通过修改配置文件,动态修改连接服务端ip了。

写在最后

  以上就是本文的全部内容,希望给读者带来些许的帮助和进步,方便的话点个关注,小白的成长之路会持续更新一些工作中常见的问题和技术点。

文章来自https://www.cnblogs.com/zaishiyu/p/16358578.html

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年6月21日
下一篇 2022年6月21日

相关推荐

  • 多次向我国要天问一号数据,且是“不罢休”状态,老美意欲何为?

    近年来,我国科技行业取得了重大突破,在多个领域实现了“弯道超车”,如航空航天,我们在严重的技术封锁下,中国空间站耸立太空,且在不久的将来,很有可能成为人类在太空中的唯一空间站。 在…

    2022年8月18日
  • SpringBoot整合websocket实现及时通信聊天

    文章目录 ??一、技术介绍 线上演示地址: http://chat.breez.work 实时通信 (Instant Messaging,简称IM)是一个 实时 通信系统,允许两人…

    2022年6月15日
  • Three.js入门 第三章 用webpack+ts 开发three 项目

    我们之前说webgl的时候,是以夯实基础为目的。 而现在的three,我会逐步往实战靠拢。 现在,webpack 依旧是主流的模块打包工具,这在大部分公司的项目开发中是必不可少的。…

    2022年6月13日
  • 桌面操作系统“好用”才能“常用”

    评论员观察 除了常见的Windows、苹果OS X等桌面操作系统外,你了解过国产操作系统吗?近期,国产桌面操作系统动作频频:从创下14秒的开机时长纪录到创建自主可控的“根”社区,再…

    2022年8月4日
  • 碳酸锂价格逼近50万元大关 新能源产业链抢矿愈演愈烈

    本报记者 赵彬彬 见习记者 贺王娟 碳酸锂价格持续上涨。8月24日,上海钢联发布数据显示,今日电池级碳酸锂均价涨3500元/吨至49.10万元/吨,近7个交易日上涨6次;工业级碳酸…

    2022年8月25日
  • 罗兰贝格戴璞:企业实施数字化极具挑战,三分之二项目在初期阶段

    近年来,数字经济潮起,企业加速数字化转型,收效如何?又面临怎样的挑战? “实际上,(企业)数字化实施极具挑战,大量的数字化项目仍处于较为初期阶段。”罗兰贝格全球管理委员会联席总裁戴…

    2022年6月23日
  • 蓝黛科技:签约日电产在新能源汽车电驱动系统等领域开展合作

    蓝黛科技6月22日公告,公司与日本电产株式会社(以下简称“日电产”)签署了《战略合作协议》,双方以共同发展和长期合作为目标,就面向全球市场的新能源汽车电驱动系统和减速器总成及零部件…

    2022年6月24日
  • Android开发一个简单实用的闹铃APP

    一个简单的闹钟 生活中我们会常常遇到需要闹钟提醒;不管是起床还是生活中的事件提醒。 那作为Android开发如何自己开发一个闹钟功能呢,是不是觉得很酷呢?接下来我们就实战一个闹钟。…

    2022年6月25日
  • 物业公司身上的互联网基因

    波诡云涌的平台时代下,各企业争先布局行业的上下游,妄图分取互联网经济的一块蛋糕,画皮一般的披上互联网的新衣却没有长成互联网的模样,唯独一个行业在迷雾中寻找到了新生的机会。 物业行业…

    2022年7月30日
  • 苹果锁屏音乐界面怎么去掉 锁屏的音乐播放器怎么关闭

    身边不少用苹果的用户的话是不是也有这样的苦恼,锁屏上一直有一个音乐播放的界面,怎么都去除不了,看起来很烦人,那大家知道怎么将锁屏的播放器删掉吗?下面就和小编一起来看看具体的删除方法…

    2022年9月27日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息