Webpack Worker Loader:如何使它作为依赖项工作?

时间:2017-02-13 12:08:05

标签: javascript webpack web-worker

我的index.html导入了依赖项。

<script src="node_modules/myModule/app.js"></script> 

Mymodule中/ app.js

var WebWorker = require('worker-loader!./worker');
window.WebWorker = new WebWorker();

worker存在于node_modules / myModule / worker.js

当我运行&#39; webpack&#39;它工作,因为它们在同一个文件夹中。如果我改变了路径中的任何内容,webpack就不会根据需要选择webworker代码。

使用此模块作为依赖项时出现问题,因为我需要将worker.js放在与index.html相同的路径中。

另一种方法是使用Blob并将worker作为Inline依赖项插入,但IE11不支持它们。

因此,我不知道是否有一个很好的选择让它发挥作用。

1 个答案:

答案 0 :(得分:1)

您应该为您的员工选择命名模式,让我们说:

myWorkerModule.worker.js

然后配置webpack worker loader以处理具有该模式的所有文件。这是webpack.config的相关部分:

module: { rules: [ { test: /\.worker\.js$/, use: { loader: 'worker-loader' } } ] }

现在,当您需要将该工作模块作为依赖项时,只需输入

即可

var myWorkerModule = require('./myWorkerModule.worker')

import myWorkerModule from './myWorkerModule.worker'

希望它有所帮助。