我有一个npm / webpack设置,我的部分应用程序需要Web Workers。通常,使用以下语法创建Web worker:
var worker = new Worker('path/to/external/js/file.js');
在npm中,这不起作用,因为我使用的开发环境不接受这样的路径。必须使用require()
包含文件。
我无法绝对链接到该文件,因为这违反了跨源规则。
是否有包含这些工作文件的策略?
答案 0 :(得分:2)
Webpack提供的worker-loader加载器似乎为您的问题提供了解决方案。可以使用npm install --save-dev worker-loader
安装此模块。
查看how to use loaders,然后要求您的网络工作者文件如下:
const Foo = require("worker!./path/to/external/js/file.js");
const fooWorker = new Foo();
请注意路径前面的worker!
,它告诉Webpack专门使用工作负载。
如果您的设置正确,您应该能够在工作文件本身中正常需要模块。