我是离子和打字稿的新手,我需要使用网络工作者。 我找到了这个: https://github.com/zlepper/typescript-webworker
但如果我像建议的那样创建3个文件,我会收到此错误:
Module not found: Error: Can't resolve 'file-loader'
我要改变别人的想法吗?
答案 0 :(得分:0)
回答晚了,但希望能帮到其他人。
Angular 8 正式支持 Web Worker。
要将 Web Worker 添加到现有项目,请使用 Angular CLI ng generate 命令。
ng generate web-worker <location>
该命令执行以下操作。
配置您的项目以使用网络工作者(如果尚未使用)。
在src/app/app.worker.ts添加如下脚手架代码以接收 消息。
<块引用>addEventListener('message', ({ data }) => { const response = "worker 对 ${data} 的响应"; postMessage(响应); });
将以下脚手架代码添加到 src/app/app.component.ts 以使用 worker。
if (typeof Worker !== 'undefined') {
// Create a new
const worker = new Worker('./app.worker', { type: 'module' });
worker.onmessage = ({ data }) => {
console.log(`page got message: ${data}`);
};
worker.postMessage('hello');
} else {
// Web workers are not supported in this environment.
// You should add a fallback so that your program still executes correctly.
}