使用jpm,现在(从 Firefox 38 开始)可以在 Firefox 附加组件中使用 npm 模块,参见。MDN 上的文档。这似乎仅限于主条目文件(index.js
默认情况下),特别是因为require()
没有在内容脚本中定义。
有没有办法在 Firefox-Addons 的内容脚本中使用 npm 模块?
使用jpm,现在(从 Firefox 38 开始)可以在 Firefox 附加组件中使用 npm 模块,参见。MDN 上的文档。这似乎仅限于主条目文件(index.js
默认情况下),特别是因为require()
没有在内容脚本中定义。
有没有办法在 Firefox-Addons 的内容脚本中使用 npm 模块?
您可以通过 获取文件的 url require.resolve
,因此请使用以下内容:
contentScriptFile: [ require.resolve("something/lib/file.js"), require("sdk/self").data.url("content-script.js") ]
这将在内容脚本中使用来自 npm 的文件。
如果 npm 文件是 CommonJS 文件,那么这会变得更加棘手,您可能必须读取文件的内容,并将其传递给内容脚本(使用消息传递或contentScriptOptions
)以使用 requireJS 或其他方式对其进行评估。