首页 > 解决方案 > 从 Electron 应用程序内部启动和停止节点应用程序

问题描述

我试图能够从我的电子应用程序内部启动和停止另一个 node.js 应用程序。

到目前为止,我已经完成了以下操作,当我运行npm start启动电子应用程序时,它正在从 bot.js 启动节点:

在 main.js 中:

var bot = require('./Bot/bot')
, server = require("./server");

在 server.js 中:

require("http").createServer(function (req, res) {
res.end("Hello from server started by Electron app!");
}).listen(9000)

现在,如果我想从电子应用程序内部停止 bot.js 应用程序(或重新启动它),通过单击按钮之类的操作,我不知道该怎么做。

标签: javascriptnode.jselectron

解决方案


Server.close()我想这就是你要找的。
.listen()返回一个http.Server实例,可以在该实例上调用此方法:

const http = require('http');
const server = http.createServer(function (req, res) {
    res.end("Hello from server started by Electron app!");
}).listen(9000);

// To Close:
server.close();

然后,您可以再次调用 server.listen() 以重新打开连接。请注意,如果在您尝试收听或不收听时服务器已经打开并且您尝试将其关闭。
有关更多信息,请参阅Server.close() 文档


推荐阅读