在Electron的exe外部创建一个文件夹

时间:2018-10-01 10:01:12

标签: electron

如何在Electron exe外部创建一个文件夹。

我打算将应用程序构建为可移植的Windows exe,因此不确定如何获取该exe的路径。

编辑#1:

我曾尝试在主流程上使用app.getPath("exe");,但是每当运行应用程序ReferenceError: exe is not defined时都会出现参考错误

1 个答案:

答案 0 :(得分:1)

确实是app.getPath(“ exe”),但是必须使用Electron事件发射器模式来实现。

要访问数据,我在主进程上触发了路径。

ipcMain.on("CALL_PRINT_EXE_FILE_PATH", (event) => {
  console.log("printing the file path of the exe");
  const exePath = app.getPath("exe");
  console.log(`exePath: ${exePath}`);
  mainWindow.send("PRINT_EXE_FILE_PATH", exePath);
});

然后在渲染器(我使用React)中,发出事件并触发事件监听器。

const { ipcRenderer } = window.require("electron");
...
componentDidMount() {
  ipcRenderer.send("CALL_PRINT_EXE_FILE_PATH");
}
componentWillMount() {
  ipcRenderer.on("PRINT_EXE_FILE_PATH", this.handlePrintExePath);
}

componentWillUnmount() {
  ipcRenderer.removeListener("PRINT_EXE_FILE_PATH", this.handlePrintExePath);
}
...
handlePrintExePath(event, exePath) {
  console.log("printing the app exe in the render");
  console.log(`exeFilePath: ${exePath}`);
}