electron配置文件,yamljs转换yml文件,设置共享数据(global.sharedObject)
electron配置文件,想在项目启动时读取配置文件,达到灵活配置的要求;
思路:
1、在根目录设置一个yml文件;
2、设置不打包这个配置文件;
3、在项目启动时用fs模块读取配置文件;将读取到配置文件的信息通过yamjs转换成json格式;存储到共享数据内,在渲染进程和主进程都可以使用;
下面看实例:
1、在根目录写一个yml文件,命名文config.yml
# 属性1
key: value
# 属性2
key: value
2、设置不打包这个yml文件:
extraFiles: [ 'config.yml' ],
3、在项目主进程入口用fs读取此配置文件,用yamjs转换成json格式,放到共享数据内
import fs from 'fs' const YAML = require('yamljs'); // 读取配置文件 // process.cwd() 读取到打包后的根目录 const configPath = path.join(process.cwd(), 'config.yml'); const configData = fs.readFileSync(configPath, 'utf-8'); const configJson = YAML.parse(configData); // 定义共享数据() // 渲染进程不能增加共享数据里的属性, 渲染进程只能对属性赋值基本数据(对象或数组不能修改) // 主线程可以对共享数据随意操作 global.sharedObject = { config: { // 存放配置文件数据 key1: 'value1', // 默认值 key2: 'value2', // 默认值 ...configJson } };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2019-01-01 js中值的基本类型与引用类型,以及对象引用,对象的浅拷贝与深拷贝
2019-01-01 for in 循环