Electron - 在主渲染器和渲染器之间共享常量

问题描述 投票:0回答:1

是否可以在Electron中的主进程和渲染进程之间共享常量?我一直没能找到一个优雅的解决方案。

我可以在渲染器和预加载之间共享常量。到目前为止,似乎通过 contextBridge 公开常量是唯一的方法。

有人有一个很酷的方法吗?

electron
1个回答
0
投票

如果您指的是实际常量,例如静态字符串或对象,那么是的,这是可能的。您可以将这些常量放在一个或多个文件中,然后将它们简单地导入到两个进程中。

对于 ESM,从 Electron 28 开始就支持(参见 docs),没有什么特别要做的,只需使用

import
/
export
:

常量.js

export const myFirstConst = "Hello";
export const mySecondConst = "World";

渲染器和主

import { myFirstConst, mySecondConst } from "./constants";

对于 CJS,您需要使用 CJS

exports
,以便主进程需要它。如果您的渲染器使用捆绑器,则在使用 ES6
exports
时需要确保它支持 CJS
import
。例如,对于 Babel
sourceType
必须设置为
"unambiguous"

常量.js

const myFirstConst = "Hello";
const mySecondConst = "World";

module.exports = { myFirstConst, mySecondConst };

渲染器

import { myFirstConst, mySecondConst } from "./constants";

主要

const { myFirstConst, mySecondConst } = require("./constants.js");

如果常量依赖于某些渲染器代码,那么您需要使用桥。

© www.soinside.com 2019 - 2024. All rights reserved.