运行 来自 chrome 应用程序内部的网络服务器

Running web-server from inside chrome app

我对 chrome 应用程序开发非常陌生,对于我的应用程序,我需要 运行 一个网络服务器,它将在我的应用程序启动时启动,并在我的应用程序关闭时关闭应用程序。我喜欢使用 web-server-for-chrome 插件作为我的网络服务器,但是有什么方法可以从 chrome 应用程序内部启动和停止服务器吗?

当然,您需要使用 chrome.sockets.tcpServer api,它允许您使用 TCP 连接创建服务器应用程序。

例如,请查看 chrome-app-samples-webserver

您可以为此使用 web-server-chrome

如您所述,停止网络服务器非常重要,这样应用的后台或事件页面才能暂停。您可以创建一个 chrome.app.window.onClosed 处理程序并检查是否没有更多 windows,然后在 WebApplication 对象上调用 .stop()。

感谢 Haibara 为我指明了正确的方向。实际上,我根据您的建议制作了一个小型图书馆,它回答了最初的问题。

https://github.com/markwylde/https-server

const https = new ServerHttps()

https.get('/', function (req, res) {
  res.send('hello there')
})

https.listen(9999)

它公开了一个类似于 api 的表达式,您可以 运行 作为扩展。

一个更好的演示可以在这里看到: https://github.com/markwylde/https-server-demo