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 } };