前言 最近的项目迭代中新增一个需求,需要在electronvue项目打包之后,启动exe可执行程序的时候,动态获取配置文件中的baseUrl作为服务端的地址。electron可以使用node的fs模块来读取配置文件,但是在项目打包之后项目的静态资源都会被编译成其他文件,本文来记录下相关实现和知识点。正文1、根目录下创建配置文件config。conf,里面写入baseUrl(注意这里通过json格式写入),如下: 2、配置打包时对资源进行复制,在package。json中修改build的配置 这里需要注意electronbuilder中两个常用的配置选项:extraResources拷贝资源到打包后文件的Resources目录中,extraFiles拷贝资源到打包目录的根路径下,这里使用extraResources,其中from表示需要打包的资源文件路径,to值为。。表示根路径。3、在项目启动的时候通过node的fs模块读取配置文件数据,并替换为baseUrl(1)创建getBaseUrl。js文件实现读取操作,并返回读取数据,如下: 代码如下:const{app}require(electron)。constpathrequire(path);constfsrequire(fs);exportfunctiongetSystem(){这是mac系统if(process。platformdarwin){return1;}这是windows系统if(process。platformwin32){return2;}这是linux系统if(process。platformlinux){return3;}}returns获取安装路径exportfunctiongetExePath(){returnpath。dirname(app。getPath(exe));}returns获取配置文件路径exportfunctiongetConfigPath(){if(getSystem()1){returngetExePath()config。}else{returngetExePath()config。}}读取配置文件exportfunctionreadConfig(callback){fs。readFile(getConfigPath(),utf8,(err,data){if(data){有值constconfigJSON。parse(data);callback(config);}});} (2)在项目启动后加载的vue文件中调用该函数,异步改变baseUrl 4、测试 打包之后配置文件会被拷贝过来 同样,页面也能拿到对应的数据,这样就可以通过修改配置文件,动态修改连接服务端ip了。写在最后 以上就是本文的全部内容,希望给读者带来些许的帮助和进步,方便的话点个关注,小白的成长之路会持续更新一些工作中常见的问题和技术点。 文章来自https:www。cnblogs。comzaishiyup16358578。html