gpt4 book ai didi

javascript - Electron NativeTheme : Cannot set property 'themeSource' of undefined

转载 作者:行者123 更新时间:2023-12-03 12:24:01 25 4
gpt4 key购买 nike

目前我正在尝试在我的 Electron 应用程序中设置系统/亮/暗模式切换器。对于 Electron 应用程序,我使用了 electron-vue 库,然后将 Electron 版本升级到 7.3.2 .
所以现在我想,我可以使用 Electron 的新 API nativeTheme 来创建这个新功能。但是我现在得到的问题是,当我导入 nativeTheme 时,它​​是未定义的:

TypeError: Cannot set property 'themeSource' of undefined
at VueComponent.theme (Settings.vue?e12e:62)
at Watcher.run (vue.esm.js?a026:4577)
at flushSchedulerQueue (vue.esm.js?a026:4319)
at Array.eval (vue.esm.js?a026:1989)
at flushCallbacks (vue.esm.js?a026:1915)
现在代码如下所示:
import { nativeTheme } from "electron";
// ...

watch: {
theme(val) {
localStorage.setItem("theme", val);
nativeTheme.themeSource = val;
}
}
我也已经尝试过使用 requirejs 变体,例如
const { nativeTheme } = require("electron");
但我显然得到了同样的错误。我当然已经搜索过这个话题 herehere但两者都没有解决我的问题。有什么我错过的吗?
此外,我还在这里发送带有版本的 package.json:
package.json - devDependencies

最佳答案

nativeTheme是一个主进程模块。您不能直接从渲染器进程导入它。您必须依赖 IPC 调用或 Electron 的 remote模块在渲染器进程中使用它。

const { nativeTheme } = require("electron").remote;

关于javascript - Electron NativeTheme : Cannot set property 'themeSource' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63292404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com