是否可以在WebWorker中加载JavaScript文件?

时间:2017-12-11 16:27:40

标签: javascript web-worker

我有一个以

开头的WebWorker
  

新工人(“worker.js”);

在这个工作者中,我尝试通过

加载所需的JavaScript文件而没有成功
self.importScripts("NeededJs.js");
const m = new NeededJs();

如何解决此问题并在我的WebWorker中包含所需的JavaScript文件?

编辑:

我收到错误消息:

  

未捕获的ReferenceError:未定义NeededJs

由于

这是我需要包含的文件 File I need to Inlcude

1 个答案:

答案 0 :(得分:2)

是的,有可能。您应该注意它的全局函数,因此请删除self.

来自:https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers

  

工作线程可以访问全局函数importScripts(),它可以导入脚本。它接受零个或多个URI作为要导入的资源的参数;以下所有示例均有效:

  

注意:脚本可以按任何顺序下载,但将按照将文件名传递给importScripts()的顺序执行。这是同步完成的;在加载并执行所有脚本之前,importScripts()不会返回。

此外,当您使用导入文件的模块模式时,您需要传递一个选项来指定:

来自:https://developer.mozilla.org/en-US/docs/Web/API/Worker/Worker

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