Javascript 在Firefox扩展中嵌入node.js并在浏览器中运行服务器

Javascript 在Firefox扩展中嵌入node.js并在浏览器中运行服务器,javascript,node.js,firefox,firefox-addon,Javascript,Node.js,Firefox,Firefox Addon,我试图弄清楚如何在Firefox扩展中嵌入node.js,这样,只要用户启用了扩展,我就可以在浏览器中运行一个持久服务器进程(特别是)。我在网上唯一能找到的就是。。。但我还没能让这些指令起作用,需要找到更多的资源 1) 除了我上面链接的那篇关于在Firefox扩展中嵌入node.js的文章之外,还有其他的资源吗?有代码示例吗 2) 是否有某种原因导致无法在Firefox扩展中运行PeerServer之类的持久服务器进程?扩展是否存在某种限制,使我无法做到这一点?您只需将可执行文件放在扩展的文件夹

我试图弄清楚如何在Firefox扩展中嵌入node.js,这样,只要用户启用了扩展,我就可以在浏览器中运行一个持久服务器进程(特别是)。我在网上唯一能找到的就是。。。但我还没能让这些指令起作用,需要找到更多的资源

1) 除了我上面链接的那篇关于在Firefox扩展中嵌入node.js的文章之外,还有其他的资源吗?有代码示例吗


2) 是否有某种原因导致无法在Firefox扩展中运行PeerServer之类的持久服务器进程?扩展是否存在某种限制,使我无法做到这一点?

您只需将可执行文件放在扩展的文件夹中,并将JS代码放在扩展中即可启动该可执行文件。运行外部可执行文件在链接的资源或中进行了描述

从MDN复制的示例:

var file = Components.classes["@mozilla.org/file/local;1"]
                     .createInstance(Components.interfaces.nsIFile);
file.initWithPath("myapp.exe");

var process = Components.classes["@mozilla.org/process/util;1"]
                        .createInstance(Components.interfaces.nsIProcess);
process.init(file);

var args = ["argument1", "argument2"];
process.run(false, args, args.length);
需要更多的逻辑来找到用户配置文件的绝对路径,以导出要启动的应用程序的路径,但这是可行的

现在,如果希望从扩展与节点交互,可以使用HTTP请求作为通信手段


在Firefox中嵌入节点听起来有点奇怪,尽管Firefox本身的核心是JS引擎。一种更优雅的方法是尝试让PeerJS直接在Firefox插件上下文中运行,而不使用节点。也许更复杂,但这应该是可能的。例如,请参阅此加载项“”。

此问题可能更适合服务器Vault:()。你可能不会在这里得到答案。尽管我对这个问题也很感兴趣。谢谢。我觉得它更适合这里,因为它更像是一个软件开发问题,而不是一个系统管理问题。但如果我在这里得不到答案,我会在那里试一试。我个人认为服务器故障不会更好。它与Firefox扩展开发和节点内部相关。这是非常具体的,可能不可能,所以可能很难在这里收集到足够的兴趣,但它似乎是在这个主题上。这并不是一个很好的地方。这是一个灰色地带。但不管它属于哪里,我认为你会在服务器Vault/程序员上找到更好的答案,因为那里有很多人。我可能错了。程序员。stackexchange是软件开发的好选择。浏览器服务器链接已失效。你知道是否有人在Firefox的WebExtensions系统中实现了这一点吗?@freyley我对构建类似的东西很感兴趣。你有幸找到更多的线索吗?@sijpkes我查看了一系列不同的邮件列表,最终得出结论,WebExtensions框架实际上不可能做到这一点。