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
对象,您必须使用 self
或 globalThis
因此https://deno.land/x/webview/mod.ts不支持从 Web Worker 调用。
库需要将 window
用法更改为 globalThis
以便它在主进程和内部工作进程中工作。
我正在尝试 运行 带有 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
对象,您必须使用 self
或 globalThis
因此https://deno.land/x/webview/mod.ts不支持从 Web Worker 调用。
库需要将 window
用法更改为 globalThis
以便它在主进程和内部工作进程中工作。