Deno 网络工作者 - 找不到名称 "window"

Deno web workers - Cannot find name "window"

我正在尝试 运行 带有 deno_webview 和 http 服务器的 Deno 应用程序,但由于某些原因我不能同时 运行,调用 webview.run() 似乎阻止了某些东西,我无法再访问我的 http 服务器。

为了防止阻塞,我正在尝试 运行在 webworker 中连接服务器或 webview,但在这两种情况下我都得到相同的错误 "Cannot find name 'window'"

这里有什么问题?

api.webworker.ts

import { Application } from 'https://deno.land/x/oak/mod.ts';
const app = new Application();
await app.listen({ port: 8080 });

webview.webworker.ts

import { WebView } from 'https://deno.land/x/webview/mod.ts';
const webview = new WebView({ url: 'http://localhost:4200' });
await webview.run();

server.ts

const webviewWorker = new Worker(
   './workers/webview.worker.ts', { 
   type: 'module', 
   deno: true 
});

错误:

const apiWorker = new Worker(
   './workers/api.worker.ts', { 
   type: 'module', 
   deno: true 
});

错误:

Web Workers 没有 window 对象,您必须使用 selfglobalThis

因此https://deno.land/x/webview/mod.ts不支持从 Web Worker 调用。

库需要将 window 用法更改为 globalThis 以便它在主进程和内部工作进程中工作。