Web worker无法访问DOM,因此您或任何其他导入的模块均无法使用窗口上的document
对象。请参见answer对此解释清楚的T.J. Crowder的引用:
我正在尝试在WEB WORKER中使用angular 8 jit编译器,但是在尝试导入Compiler模块或web-worker.ts文件中的任何其他angular模块时出错。>
/// <reference lib="webworker" /> import {Compiler } from '@angular/core'; addEventListener('message', ({ data }) => { let response = `worker response to ` + data ; });
node_modules/@angular/core/core.d.ts:13052:20-错误TS2304:找不到名称'Document'。
[我正在尝试在WEB WORKER中使用angular 8 jit编译器,但在尝试导入web-worker.ts文件中的Compiler模块或任何其他angular模块时收到错误//// Web worker无法访问DOM,因此您或任何其他导入的模块均无法使用窗口上的 服务人员-一般是网络人员-根本没有直接访问DOM的权限。而是让工作人员将信息发布到主线程,并让主线程中的代码酌情更新DOM。浏览器上JavaScript的线程模型是,只有一个主UI线程(运行页内代码的默认主线程)可以访问DOM。其他被隔离。 此外,别忘了将工作程序配置为模块类型: document
对象。请参见answer对此解释清楚的T.J. Crowder的引用:@Injectable()
export class SomeWorkerService {
private readonly worker = new Worker('./custom.worker', { type: 'module' });
...
}
Web worker无法访问DOM,因此您或任何其他导入的模块均无法使用窗口上的document
对象。请参见answer对此解释清楚的T.J. Crowder的引用: