Работаю с веб воркерами и столкнулся с такой проблемой:
- Данные не попадают в воркер через
worker.postMessage(someData)
- Несмотря на многие примеры в интернете я не могу вызвать
console.log('text')
в воркере
- Как это дебажить??? Мало того что консоль не отработывает так после изменения файла воркера вебпак не подтягивает его и работает со старым
Буду очень благодарен за подробное описание этой технологии и как с ней работать.
P. S. Устал читать статьи с одним и тем же примером из документации и о том как это стильно, можно, молодёжно и основной поток не блокирует.
Конфиг vue.config.jsconfigureWebpack: process.env.NODE_ENV === 'development'
? {
module: {
rules: [
{
test: /\.worker\.js$/,
use: {
loader: 'worker-loader',
options: {
inline: true
}
}
}
]
}
}
: {},
Код воркераself.addEventListener('message', event => {
const data = event.data;
switch (data.cmd) {
case 'getInfo':
// eslint-disable-next-line no-case-declarations
const info = fetchInfo(data.token);
self.postMessage(info);
break;
default:
throw 'Unknown command'
}
});
Код создания воркераimport Worker from './custom.worker.js'
const worker = new Worker();
worker.postMessage({
cmd: 'getInfo',
data: {
token
},
})