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

 

posted @ 2022-01-01 23:27  古墩古墩  Views(670)  Comments(0Edit  收藏  举报