我认为这个场景非常奇怪:桌面UI与服务器框架的组合似乎有点违反直觉。 当file://被引用时,您看到的是(本地)文件系统调用-这些调用很可能是对其他协议(如http://或ws://)的调用,并且不需要Express框架存在。 相反,Express使您的应用程序能够从外部接收连接并充当服务器。这可以是服务静态或动态内容的Web服务器,REST-API端点或其他类型的Web服务端点。 There is indeed a project showing exactly this combination:Express服务器负责提供内容,Electron用于 Package 显示当前发生的任何事情的日志UI。 然而,从体系结构的Angular 来看,我可能会将这些关注点中的每一个分离为单独的独立应用程序。
2条答案
按热度按时间2ledvvac1#
我认为这个场景非常奇怪:桌面UI与服务器框架的组合似乎有点违反直觉。
当file://被引用时,您看到的是(本地)文件系统调用-这些调用很可能是对其他协议(如http://或ws://)的调用,并且不需要Express框架存在。
相反,Express使您的应用程序能够从外部接收连接并充当服务器。这可以是服务静态或动态内容的Web服务器,REST-API端点或其他类型的Web服务端点。
There is indeed a project showing exactly this combination:Express服务器负责提供内容,Electron用于 Package 显示当前发生的任何事情的日志UI。
然而,从体系结构的Angular 来看,我可能会将这些关注点中的每一个分离为单独的独立应用程序。
jexiocij2#
我正在考虑这个问题,因为我正在制作一个离线桌面电子应用程序,并希望为一个可能成为新SaaS解决方案的应用程序提供一些可重用的功能。
所以,除非你也有同样的想法,那么我真的找不到任何好的理由有这个。我试图找到一些最佳实践,但我发现很少或没有。似乎这种做法是相当罕见的,虽然完全可能。从技术上讲,你所要做的就是使用Electron作为服务器。
一开始,我尝试了JavaScript只是为了确保express应用程序是否可以运行,我遇到的唯一问题是
cors
,但之后一切都很顺利。我可以看到的是,如果你打算创建一个桌面应用程序,并且它即将变得复杂,你应该去你常用的web库/框架工具,使其变得更容易。但是,嘿,如果我犯了一个错误,我愿意接受建议。我自己也在尝试这个。如果我发现它的缺点,我会随时更新。