javascript - 我如何在 npm 中 require() 网络 worker ?

标签 javascript node.js npm webpack web-worker

我有一个 npm/webpack 设置,我的部分应用程序需要 Web Workers。通常,网络 worker 是使用以下语法创建的:

var worker = new Worker('path/to/external/js/file.js');

在 npm 中,这不起作用,因为我使用的开发环境不接受这样的路径。必须使用 require() 包含文件。

我不能完全链接到文件,因为这违反了跨域规则。

是否有包含这些工作文件的策略?

最佳答案

worker-loader Webpack 提供的加载程序似乎为您的问题提供了解决方案。此模块可以使用 npm install --save-dev worker-loader 安装。

看看how to use loaders ,然后像这样要求您的网络 worker 文件:

const Foo = require("worker!./path/to/external/js/file.js");
const fooWorker = new Foo();

注意路径前的 worker!,它告诉 Webpack 专门使用 worker 加载器。

如果您的设置正确,您应该也能够在工作文件本身中正常地 require 模块。

关于javascript - 我如何在 npm 中 require() 网络 worker ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40567635/

相关文章:

javascript - chrome 弹出窗口关闭时的事件

node.js - NodeJS - Google API 模块 - [TypeError : Cannot read property 'prototype' of undefined]

npm - package-lock.json 中的 `"dev"true` 是做什么用的?

javascript - 如何在 polymer 商店上发布表格

php - 用于检测 AIM 状态的 javascript 或 PHP 选项

node.js - 无法通过Google电子表格API( Node JS)中的服务帐户访问写入

node.js - 将事件从 Node 客户端发送到 Laravel Echo 服务器

javascript - 使用 nodejs/npm start 在哪里查看 console.log 输出?

npm - "Already up-to-date"和 "Run ' yarn ' to install missing dependencies"?

javascript - 如何在 Angular js中的 $on ("fileSelected")之后在页面上显示图像