如何使用 Requirejs 在模块构建中使用 Web Workers?

2024-01-07

我有一个使用 Requirejs 和 Backbonejs 编写的运行良好的应用程序,但有时它确实很慢......例如,当需要进行一些算术工作时!我尝试使用 Web Worker 来完成这样的算术工作:

我的模块(traffic.js):

define(["jquery", "use!underscore", "use!backbone", "namespace" ],
  function ($, _, Backbone, globals) {
    .....  
    var worker = new Worker("arithmetic.js");
    worker.addEventListener('message', function(e) {
         console.log(e.data);
    }, false);

    worker.postMessage(globals.data); // Send data to our worker.
  });

算术.js:

define(["use!underscore", "use!backbone" ],
  function ($, _) { 
      //Here die Operations
 });

但我有错误定义没有定义!!

我试过了this https://github.com/jrburke/requirejs/blob/master/tests/workers.js也但是没有成功!!

如何在requirejs或backbonejs中使用Web Worker?

Thanks!


您可以使用网络工作者的 requireJS:请参阅API docs http://requirejs.org/docs/api.html#webworker了解更多信息。

唯一的要求是在 Web Worker 启动时加载 requireJSimportScripts(…)。加载后,您可以使用define并像平常一样使用 requireJS 。

当我让它工作时,对我来说关键部分是确保您也加载相同的引导配置(例如config.js or main.js)在您在应用程序的其余部分中使用的 Web Worker 中。这就是文档所说的内容:

您可能需要设置 baseUrl 配置选项以确保 require() 可以找到要加载的脚本。

另一件事是你可以从你的traffic.js具有模块 ID 的文件(而不是硬编码脚本路径)利用这个requireJS插件 https://github.com/chadly/RequireJS-Web-Workers.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Requirejs 在模块构建中使用 Web Workers? 的相关文章

  • 主干关系事件未触发?

    class TheModel extends Backbone RelationalModel relations type Backbone HasMany key subModels relatedModel SubModel coll
  • jQuery PUT ajax 请求不起作用

    我正在尝试在 couchdb 中保存 Backbone 模型 因此我已经覆盖了save向 couchdb 发出 ajax 请求的方法 ajax type PUT url http 127 0 0 1 5984 movies this get
  • Web Worker 中的 RequireJS

    我正在尝试在网络工作者中使用 RequireJS 问题是我在使用它时不断收到以下错误 Uncaught Error importScripts failed for underscore at lib underscore js 我已经测试
  • 如何检查侧边栏视图是否已经在主干中渲染?

    通常 用户通过主页进入网站 然后我在那里渲染侧边栏视图 接下来 用户单击链接 路由器呈现另一个视图并替换原始内容视图 侧边栏视图不会重新渲染 当用户在子页面上单击刷新时 侧边栏不会呈现 如何检查视图是否存在并且已渲染 划分责任并坚持下去 不
  • Backbone.js 与 Google 地图 - 有关此问题和侦听器的问题

    我有一个为 Google Maps v3 创建的模块 我正在尝试将其转换为 Backbone js 视图构造函数 到目前为止 这是我的视图模块 我将解释代码后遇到的问题 pg views CreateMap Backbone View ex
  • 使用 Backbone.js 和 Rivets.js 的简单示例

    我正在寻找一个非常简单的例子 例如之间存在双向绑定span文本和一个input使用 Backbone js 的元素和铆钉 js http rivetsjs com 也许 Rivets js 文档中有一个 但我找不到它 有什么帮助吗 假设您的
  • backscore.js 和 underscore.js CDN 推荐吗?

    是否有backbone js和underscore js的CDN源可以在我们的项目中使用 http www cdnjs com http www cdnjs com托管许多不太流行的 JavaScript 框架 包括 主干 js quest
  • toJSON() 和 JSON.Stringify() 之间的区别

    如果您需要读取或克隆模型的所有数据属性 请使用其 toJSON 方法 此方法返回属性的副本作为 对象 尽管有其名称 但不是 JSON 字符串 当 JSON stringify 为 使用 toJSON 方法传递一个对象 它将返回的字符串化 t
  • Backbone.js 应用程序可以逐步增强并可供搜索引擎抓取吗?

    我需要为我的下一个项目实现一个 MVC JavaScript 框架 但它既是一个网站 又是一个 Web 应用程序 是否可以公开数据服务器端 然后解析 URL 以显示 JS 版本 我计划使用 Rails 作为服务器端代码 我写了一个关于这个主
  • 使用 Jasmine 监视 Backbone.js 路由调用

    在主干路由器上监视方法调用时遇到问题 以确保它在给定路由上调用正确的方法 测试摘录 describe Router gt beforeEach gt router new App Router Backbone history start
  • Backbone.js 和本地存储。必须指定“url”属性或函数

    我正在提高有关 Backbone js 的知识 并从教程中获取了此代码示例 http bardevblog wordpress com 2012 01 16 understanding backbone js simple example
  • Backbone 中的加载栏

    我想显示加载消息 图标 直到列表中的所有项目都已呈现 这是我的示例中的 jsfiddle http jsfiddle net 9R9zU 58 http jsfiddle net 9R9zU 58 我尝试在 Feed 部分添加一个带有加载栏
  • 如何在 RequireJS 中模拟单元测试的依赖关系?

    我有一个要测试的 AMD 模块 但我想模拟它的依赖项 而不是加载实际的依赖项 我正在使用 requirejs 我的模块的代码如下所示 define hurp durp function Hurp Durp return foo functi
  • 使用 requirejs 加载外部脚本而无需访问配置

    我正在尝试在我正在编写的插件中加载数据表 javascript 库 问题是 当我加载外部资源时 我会遇到冲突 因为当我调用 require 时 数据表与某些内容发生冲突 这是错
  • 我在哪里可以找到高级backbone.js示例[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有人可以指导我找到包含高级backb
  • 如何使用backbone和requirejs定义/使用多个路由

    我将我的应用程序分成了几个应用程序 main js app js app1 routing controller app app2 routing controller app 1 当我尝试使用路由器时app1 他们工作 2 当我尝试使用路
  • 在专用 Worker 中生成共享 Worker

    我正在玩WebWorkers 不知何故 我想到让一个页面的不同实例知道另一个页面何时关闭 因此我写了一个 Shared Worker 并且它工作得很好 但现在我想要一个专用工作人员充当共享工作人员的接口 这样 UI 中昂贵的操作就不会影响与
  • AngularJS RequireJS Browserify 和 Javascript 模块/全局范围噩梦 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近在 CommonJS 与 AMD 的战斗中进行了一些挖掘 这是我的发现 顺便说一句 我不是在这里说教 而是分享我的想法以获得一些建设性的见
  • 加载 requireJS 和 Backbone 的多个实例

    我正在创建一个 google chrome 扩展 当在选项卡上激活时 它会将一些自定义代码和一些新视图加载到该窗口的文档中 我想使用 requireJS 加载扩展调用的这些新代码模块 但是 我担心如果调用此扩展的应用程序 网站已经在运行 r
  • 是否可以使 JavaScript 模块与 NodeJS 和 RequireJS 兼容?

    我一直在研究如何使用 NodeJS require 显然在 NodeJS 应用程序中 和针对 Web 浏览器环境的 RequireJS 在 NodeJS 和浏览器应用程序中应用各种模块概念 然后我突然意识到 某些模块可能对客户端和服务器应用

随机推荐