Estou tentando criar um web trabalhador em um projeto Lit Element Stackblitz .
Este é o trabalhador ( worker.js
):
onmessage = (e) => {
console.log(e.data);
postMessage(e.data);
};
E este é o código que o cria ( In my-element.ts` ):
constructor() {
super();
const worker: Worker = new Worker('worker.js');
console.log(worker);
worker.postMessage('hello');
worker.onmessage = (e) => {
console.log(`The worker posted back ${e.data}`);
};
}
E a demonstração, quando visualizada com ferramentas de desenvolvedor, não registra nenhuma mensagem interna ou do trabalhador, mas registra:
SyntaxError: token inesperado '<' (em trabalhador.js:1:1)
E estou tentando descobrir se isso é um bug do Stackblitz e se há alguma maneira de contornar isso.
Pensamentos?
Você tem 2 maneiras.
1. Use caminho absoluto
Como
WebContainer
é um ambiente emulado de sistema de arquivos, seu sw não consegue encontrar exatamente o seu contexto de trabalho, você pode2. Use
?worker
com sintaxe ViteComo você está usando o vite, existe uma maneira mais fácil de usar a sintaxe do vite