在 Firefox 插件中使用 Core NodeJs 模块

Using Core NodeJs modules in Firefox addons

本文关键字:Core NodeJs 模块 Firefox 插件      更新时间:2023-09-26

我正在尝试Firefox附加sdk,我对一件事感到困惑。在使用 JPM 开发火狐扩展时,我们可以吗?

使用使用 npm 添加的第三方模块?使用核心节点JS模块?(如"净")

当我使用 npm 添加第三方模块时,可以加载某些模块,但某些模块失败并显示错误消息:

消息:在 resource://gre/modules/commonjs/xxx.js 找不到模块 xxx

一些例子是"净"和"实用"模块。

有没有办法制作火狐附加组件,核心nodejs模块(如"net")?

您目前不能直接在 Firefox 或任何其他浏览器的扩展中使用这样的节点模块。

对于某些东西,你可以使用类似browserify的东西,但对于节点核心模块,如netfsdgram,以及其他使用低操作系统级功能,不可能简单地browserify它们。

为浏览器编写填充程序方面已经有各种努力,例如用于Chrome扩展程序的node-chromify,但该项目似乎在一段时间前就被放弃了。

也有可能将节点本身嵌入到扩展中,但这会使它非常庞大并且仅限于特定的平台(尽管有一些 Firefox 扩展似乎已经做到了这一点)。