如何验证表单并重定向到Electron中的特定路径

时间:2018-11-13 10:16:19

标签: javascript node.js electron

您好,我是电子新手,但是一直在使用Express开发Web应用程序。我正在构建一个桌面应用程序,并且有一个带有简单登录表单的index.html页面。我明白我可以根据验证结果进行验证并重定向到正确的路由器。如何在Electron中具有相同的功能?另一件事是,我不想创建另一个浏览器窗口,我只希望路径在同一浏览器窗口中重定向和呈现html页面。谢谢

2 个答案:

答案 0 :(得分:0)

  1. ipcMainipcRenderer之间或多或少地进行通信。

当您对Web开发有所了解时,可以将 ipcMain 视为后端(表达式),将 ipcRenderer 视为客户端(浏览器)。

但是,区别在于您通过发出事件而不是像后端/前端那样处理网络之类的AJAX调用来在ipcMain和ipcRenderer之间进行通信。

要验证快速数据,请从ipcRenderer发出事件,以便ipcMain侦听并进行验证。之后,将发射事件返回给ipcRenderer,一旦ipcRenderer收到验证数据,就对其进行处理。

  1. 在同一浏览器窗口中处理重定向/呈现html页面的最简单方法是使用html5路由在您的电子设备中开发单页面应用程序。如果您熟悉react和react-router,这是一个很好的样板。 https://github.com/electron-react-boilerplate/electron-react-boilerplate

答案 1 :(得分:0)

Electron是Node和Chromium的非常灵活的组合,并添加了一些自己API的秘密调味料。

您有很多选择。

Electron的最大优点之一是,可以开发不需要在线后端的脱机应用程序,就像您可能曾经那样。这意味着您可以选择在Electron内部运行Express,处理路由并完成其通常的工作。这意味着Express在最终用户的PC或Mac上运行,而不是在Internet上的托管服务器上运行。

作为Express开发人员,这可能是您一开始就快速完成工作的好方法。您可以将Express安装到您的Electron应用程序中(npm install express --save)。

通过这种方式,您可以在Electron中运行express,从而使您可以继续使用与以前相同的方式进行工作。不会完全一样。就像您已经看到的那样,您将需要学习沿途管理浏览器窗口和其他Electron概念。还有一些限制和解决方法,因为Express通常在托管服务提供商的后端服务器上运行。

这里有如何入门的指南:NodeJS Electron with express,或者您可以通过Google来“使用Electron和Express构建应用程序”。

尽管您需要开始围绕Electron的特定概念进行计划,但还是打算在Electron上进行一些阅读或学习。

这里有很多与电子相关的学习和其他资源: https://github.com/sindresorhus/awesome-electron#videos

更新:我意识到我没有具体解决您的某些问题,

要验证表单,您可以选择按照习惯的方式进行操作(可能是通过将表单发布到Express并运行一些逻辑),也可以使用在实际页面上运行的脚本。

要重定向到Electron中的特定路径,您可以有很多选择,但是Express路由仍然可以为您工作,或者您可以使用Electron BrowserWindow webContents API对象上的loadFile加载特定文件(您可能需要做一些在Main和Renderer上阅读以很好地理解这一点。

享受电子带来的发展和好运!