Веб-работники Монако в ESM
Я пытаюсь создать пользовательский веб-работник для Monaco-редактора. Следуя существующим образцам, у меня есть следующий код:
this._worker = monaco.editor.createWebWorker<XmlWorker>({
// module that exports the create() method and returns a `XmlWorker` instance
moduleId: 'my-worker',
label: 'xml',
// passed in to the create() method
createData: {
languageId: 'xml'
}
});
Из документации, moduleId должен быть именем модуля AMD для загрузки. Я использую нацеливание на посылки commonJS и ES6 для сборки работника, и поэтому, также в следующих примерах, у меня следующий вызов:
self.MonacoEnvironment =
{
getWorkerUrl: function (moduleId, label)
{
switch (label)
{
case "xml": return './js/workers/xml.worker.js';
}
return './js/workers/editor.worker.js';
}
Я построил свой рабочий в xml.worker.js, но createWebWorker по-прежнему не создает правильный прокси. Мой код такой же, как в рабочих примерах HTML/CSS/JSON, и все пути моего кода кажутся правильными.