Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在WebWorker中加载JavaScript文件?_Javascript_Web Worker - Fatal编程技术网

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

是否可以在WebWorker中加载JavaScript文件?,javascript,web-worker,Javascript,Web Worker,我有一个网络工作者,我开始 新员工(“Worker.js”) 在这个worker中,我试图通过 self.importScripts("NeededJs.js"); const m = new NeededJs(); 如何解决这个问题并在我的WebWorker中包含所需的JavaScript文件 编辑: 我得到错误消息: 未捕获引用错误:未定义NeededJs 谢谢 这是我需要包含的文件 是的,这是可能的。您应该注意它是一个全局函数,因此请删除self. 发件人: 工作线程可以访问全局函数im

我有一个网络工作者,我开始

新员工(“Worker.js”)

在这个worker中,我试图通过

self.importScripts("NeededJs.js");
const m = new NeededJs();
如何解决这个问题并在我的WebWorker中包含所需的JavaScript文件

编辑:

我得到错误消息:

未捕获引用错误:未定义NeededJs

谢谢

这是我需要包含的文件
是的,这是可能的。您应该注意它是一个全局函数,因此请删除
self.

发件人:

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

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

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

发件人:


定义“没有成功”。你是说你有例外吗?例外情况是什么?你的意思是说你没有错误,但其他东西不起作用?请提供更多细节。只是为了确定。。。“NeededJs.js”文件包含一个名为
NeededJs
的“全局”可用类?如果没有,它是否包括类似于
this.NeededJs=NeededClass
?请查看我发布的链接。只需声明,文件中没有定义明显的-
needdjs
。因此,错误
Uncaught ReferenceError:NeededJs未定义
是正确的。您的问题与您尝试执行的操作不完全匹配。您正在尝试从工作程序加载Node.js模块。要做到这一点,您需要查看类似browserify或类似的库。相反,我要做的是下载您自己的库副本,去掉load函数和其他东西,只留下WebMonkeys构造函数。然后,只需从工作程序加载修剪过的库。我对它进行了测试,我可以向您保证它可以正常工作(顺便说一句,如果禁用了OffscreenCanvas,您需要在浏览器中启用OffscreenCanvas)。不起作用,我不得不说我将worker作为Blob加载。@Zca89我想这可能是您的问题的重要信息。你呢?
new Worker("worker.js", {type:"module"});