Firefox-Addon内容脚本中的npm模块

时间:2015-05-10 15:33:27

标签: firefox firefox-addon npm firefox-addon-sdk jpm

使用jpm,现在有一个(来自Firefox 38)可以在Firefox附加组件中使用npm模块,参见the documentation on MDN。 这似乎仅限于主条目文件(默认情况下为index.js),尤其是require() isn't defined in content scripts以来。

有没有办法在Firefox-Addons的内容脚本中使用npm模块?

1 个答案:

答案 0 :(得分:1)

您可以通过require.resolve获取文件的网址,因此请使用以下内容:

contentScriptFile: [ require.resolve("something/lib/file.js"), require("sdk/self").data.url("content-script.js") ]

这将在内容脚本中使用来自npm的文件。

如果npm文件是CommonJS文件,那么这会变得更加棘手,您可能必须读取文件的内容,并将其传递给内容脚本(使用消息传递或contentScriptOptions)来获取它用requireJS或其他东西评估。