我有一个 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/