Как сделать веб-работников с помощью TypeScript и веб-пакета
У меня возникают проблемы с правильной компиляцией машинописи, когда я пытаюсь использовать веб-работников.
У меня есть рабочий, определенный следующим образом:
onmessage = (event:MessageEvent) => {
var files:FileList = event.data;
for (var i = 0; i < files.length; i++) {
postMessage(files[i]);
}
};
В другой части моего приложения я использую загрузчик webpack работника для загрузки моего работника следующим образом:let Worker = require('worker!../../../workers/uploader/main');
У меня, однако, есть некоторые проблемы с тем, чтобы объявления машинописи не кричали на меня, когда нужно передать приложение. Согласно моим исследованиям, я должен добавить еще одну стандартную библиотеку в мой файл tsconfig, чтобы раскрыть глобальные переменные, к которым должен иметь доступ работник. Это я указал так:
{
"compilerOptions": {
"lib": [
"webworker",
"es6",
"dom"
]
}
}
Теперь, когда я запускаю webpack для сборки всего, я получаю кучу ошибок, подобных этим:C:/Users/hanse/Documents/Frontend/node_modules/typescript/lib/lib.webworker.d.ts:1195:13 Subsequent variable declarations must have the same type. Variable 'navigator' must be of type 'Navigator', but here has type 'WorkerNavigator'.
Итак, мой вопрос: как мне указать, чтобы веб-работник использовал определения lib.webworker.d.ts, а все остальное соответствует нормальным определениям?