vite版本
"vite": "^4.0.0",
默认导入worker为报404
const worker = new Worker(new URL('./worker.js', import.meta.url))
import MyWorker from './worker.js?worker';
const worker = new MyWorker();
MyWorker文件代码
const ctx: Worker = self as any;
ctx.onmessage = (res) => {
if (res.data.type === 'ready') {
console.log('收到父线程消息');
ctx.postMessage('子线程准备完毕');
}
};
ctx.onerror = (err) => {
console.log('收集错误', err);
};
export default ctx;
使用MyWorker
import myWorker from './worker.ts?worker';
var homeWorker = new myWorker();
homeWorker.postMessage({type: 'ready'});
homeWorker.onmessage = (res) => {
console.log('home收到消息', res.data);
};
homeWorker.onerror = (err) => {
console.log('home收集到错误', err);
homeWorker.terminate();
}
使用后控制台打印