gpt4 book ai didi

javascript - Web-Worker 导入的脚本能否依次导入另一个脚本?

转载 作者:行者123 更新时间:2023-12-05 03:49:11 31 4
gpt4 key购买 nike

网络 worker 使用的脚本模式 https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers是:

  • webworker.js

    importScripts('./parent.js')
  • parent.js

    import { PerfManager} from "./child.js";

child.js 导入结果:

Uncaught SyntaxError: Cannot use import statement outside a module

webworker.js 使用时,有什么方法可以在 parent.js 中实现导入吗?

最佳答案

您可以启动一个module Worker (目前仅在基于 Blink 的浏览器中可用)。

const worker = new Worker("worker.js", { type: "module" });

然后,您将直接从该工作脚本import parent.js 而不是 importScripts,这将能够导入任何依赖项.

由于 StackSnippets 在 null 来源的 iframe 中,我必须将演示外包给这个 plnkr .


请注意,在这些浏览器中,您甚至可以在非模块 Worker 中使用 parent.js 中的动态 import() 语句:plnkr ,但是这在不支持模块 Workers 的浏览器中仍然不起作用
对于这些,您只需要使用非模块脚本并使用 importScripts 及其整个链中的全局变量:plnkr .

关于javascript - Web-Worker 导入的脚本能否依次导入另一个脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64070777/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com