我的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不支持它们。
因此,我不知道是否有一个很好的选择让它发挥作用。
答案 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'
希望它有所帮助。