Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 客户端对Electron应用程序的http请求_Javascript_Angularjs_Electron - Fatal编程技术网

Javascript 客户端对Electron应用程序的http请求

Javascript 客户端对Electron应用程序的http请求,javascript,angularjs,electron,Javascript,Angularjs,Electron,所以我正在做一个项目,我想变成一个电子应用程序,目前它是一个Angular(2.x)应用程序,使用express作为服务器 我遇到的问题是如何在electron中复制express路由器?基本上,我希望能够从客户端到electron服务器(目前使用@Angular/http服务)执行GET、POST、更新等操作。我知道electron有自己的异步/同步消息消息协议,但它更类似于web套接字 客户端示例: this.http.post('/setValue', {key: key, value:

所以我正在做一个项目,我想变成一个电子应用程序,目前它是一个Angular(2.x)应用程序,使用express作为服务器

我遇到的问题是如何在electron中复制express路由器?基本上,我希望能够从客户端到electron服务器(目前使用@Angular/http服务)执行GET、POST、更新等操作。我知道electron有自己的异步/同步消息消息协议,但它更类似于web套接字

客户端示例:

this.http.post('/setValue', {key: key, value: value}).subscribe((data)=>{});
服务器端:

router.post('/setValue', (req, res, next)=>{
    //Do something
});

您应该能够在Electron启动脚本中启动express server。只要让它监听一些随机端口号,让你的Angular2应用程序点击所有http请求的URL即可

我的建议是将原来的Angular2应用程序分为两个独立的应用程序:

  • 保持您的快速路线不变,并将其移动到自己的专用API中。将API托管在某个地方,并为其提供自己的URL

  • 让Electron应用程序点击所有数据库相关调用的API URL


  • 这将使您分离关注点,并使系统更易于管理。此外,您的API将来还可供其他应用程序使用。例如,假设你下一步要做一个移动应用程序,这个移动应用程序可以利用现有的API,你可以节省很多工作

    今晚我将研究这个问题,我可能不会将API从electron应用程序中分离出来,因为API对于每个使用它的人来说都是独一无二的(它是一个redis管理器,因此连接在API中处理,并且特定于用户)。