webpack 打包项目中使用web worker问题

我想在一个vue项目用web worker 处理高并发的socket,想在里面用ES6模块所以配置了worker-loader,结果编译后经常拿不到worker脚本Uncaught SyntaxError: Unexpected token '<'

main.js :

import Worker from './workers/socket.worker.js'
Vue.prototype.$priceWk = new Worker()

socket.worker.js :

onmessage = (event) => {
    if (!event) return;
    const { type, payload } = event.data;
    console.log( type, payload )
}

webpack.config.js :

{
    test: /\.worker\.(c|m)?js$/i,
    loader: 'worker-loader',
    options: {
        filename: (pathData) => {
            if (/\.worker\.(c|m)?js$/i.test(pathData.chunk.entryModule.resource)) {
                return '[name].js'
            }
            return '[name].worker.js'
        },
    }
}
阅读 2.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题