我正在尝试使用 Angular 18 制作我的第一个 Electron 应用程序。我密切关注了几个教程,但在构建应用程序时我不断收到错误消息。我创建了一个基本服务来处理 IPC 功能,让 Angular UI 与 Electron 功能对话。
import { Injectable } from '@angular/core';
import {IpcRenderer} from 'electron';
@Injectable({
providedIn: 'root'
})
export class IpcService {
private ipc: IpcRenderer | undefined;
constructor() {
try {
this.ipc = window.require('electron').ipcRenderer;
} catch (e) {
throw e;
}
}
test(): void {
this.ipc?.send("openModal")
}
}
this.ipc = window.require('electron').ipcRenderer;
行似乎在构建时导致此错误:“发生未处理的异常:无法解构‘(中间值)’的属性‘路由’,因为它未定义。”
当我删除该行时,应用程序会正常构建和加载,当然 IPC 无法工作。我似乎找不到其他人遇到这个问题,所以我觉得我明显遗漏了一些东西。感谢您的帮助!
不知道为什么会出现这种情况,但将
window.require
线包裹在 中
if (typeof window !== 'undefined') {}
修好了。