Модули npm в скриптах содержимого Firefox-Addon

С jpm теперь (начиная с Firefox 38) можно использовать модули npm в Firefox. -оны, ср. документацию по MDN. Похоже, что это ограничено основным файлом записи (index.js по умолчанию), тем более что require() не определенные в сценариях содержимого.

Есть ли способ использовать модули npm в сценариях контента для Firefox-Addons?


person Nico Schlömer    schedule 10.05.2015    source источник


Ответы (1)


Вы можете получить URL-адрес файла через require.resolve, поэтому используйте что-то вроде:

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

Это будет использовать файл из npm в сценарии содержимого.

Если файл npm является файлом CommonJS, то это становится более сложным, вам, возможно, придется прочитать содержимое файла и передать его в скрипт содержимого (используя передачу сообщений или contentScriptOptions), чтобы оценить его с помощью requireJS или что-то в этом роде.

person erikvold    schedule 13.05.2015
comment
Модули, использующие C, нельзя использовать, нет? - person Noitidart; 13.05.2015
comment
Я пробую это, и похоже, что код не может взаимодействовать с контентом - я могу войти в код, но он не может получить доступ к документу моей панели. - person Dotan Dimet; 07.06.2015