使用require.js在Web worker中加载JQuery

时间:2015-11-24 13:41:59

标签: javascript jquery web-worker

我正在尝试将工作模块应用到我的应用中。应用程序本身使用require.js加载所有预请求。这就是装载工人模块的所有问题的开始。

的index.html

<script>
    var worker = new Worker('worker_module.js');
</script>

worker-module.js

importScripts('../vendor/require.min.js');

require(['../vendor/jquery.min'], function ($){
   console.log("Test")
});

每次加载页面时都会弹出此错误。

Error: importScripts failed for ../vendor/jquery.min at ./../vendor/jquery.min.js

任何想法可能有什么不对?我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

我认为this post可能会回答您的问题。

据我所知,由于jQuery需要DOM访问,因此无法在web-worker中使用jQuery。

答案 1 :(得分:0)

如果你直接尝试importScripts JQuery,你会发现它是jQuery,而不是Require.js错误:

TypeError: document is undefined

JQuery旨在使用主dom文档,并且Web worker中没有可用的DOM API。 You can't use native API to parse HTML string either.

我找到了解决方法,答案就在这里:https://stackoverflow.com/a/33944817/607407 这是一个完全包含您的代码的演示:http://fel.8u.cz/workerrjs/main/