要使用 importScripts 在 web worker 中加载特定于 worker 的包,我需要告诉 Webpack 将所有 Webpack 的客户端特定代码放入该 worker 包(webpackJsonp、_webpack_require__ 等)。
这是入口捆绑配置:
entry: {
app: [
'lodash',
'jquery',
'index',
],
worker_bundle: [
"parlib/atomics-shim.js",
"parlib/message.js",
"parlib/master-barrier.js",
"parlib/worker-barrier.js",
"parlib/marshaler.js",
"parlib/worker-par.js"
]
}
这是我的插件配置:
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: 'app',
filename: 'app.js'
}),
],
工人代码是这样的:
importScripts(location.origin + "/worker_bundle.js");
new WorkerPar();
我试过添加
new webpack.optimize.CommonsChunkPlugin({
name: 'worker_bundle',
filename: 'worker_bundle.js'
}),
但得到了While running in normal mode it's not allowed to use a non-entry chunk (worker_bundle)
如何告诉 webpack 我想要两个完全独立的自加载包?