Когда я пытаюсьКак использовать события в ChromeWorker?
var { on, once, off, emit } = require('resource://gre/modules/commonjs/sdk/event/core');
внутри моего worker.js, я получаю сообщение об ошибке, что
TypeError: The argument to require() must be a string uri, got ../core/namespace
однако, тот же вызов отлично работает в моем index.js. Недоступны ли события от рабочих?
Обновление. Я думаю, что это, вероятно, проблема внутри core.js, поскольку есть sdk/core/namespace для https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_APIs/core_namespace, к сожалению, требуется ('sdk/event/core') этого не делает.
Хм Я не уверен, может быть, что 'require' вы используете, это другой тип' require'. Я думаю, что SDK ожидает использования не-ресурсного пути. Так что 'require ('event/core')' должно быть, должно быть, все, что вам нужно – Noitidart
Кажется, что импортированный ChromeWorker '' 'require''' действительно отличается. Однако для этого требуется использовать строку uri. Пример в https://developer.mozilla.org/en-US/docs/Mozilla/ChromeWorkers/Chrome_Worker_Modules, где вам требуется ("resource: //gre/modules/osfile/osfile_shared_allthreads.jsm"); работает. Я думаю, что внутри sdk/event/core он говорит вам загружать ../core/namespace, и это значит, что этот новый запрос не выполняется. – tofutim
Я просто хочу «это просто работает (TM)» – tofutim