vue 中使用 worker-loader 及遇到的问题

本文档介绍了在 Vue CLI 3 和 webpack 4 环境下使用 worker-loader 实现 Web Worker 的过程,包括配置 webpack,创建 worker 文件,以及在组件中调用 worker。在使用过程中,可能会遇到版本不兼容、热更新问题和跨域问题等挑战,文中给出了相应的解决建议。
摘要由CSDN通过智能技术生成

Web Worker 使用教程
Worker - Web API 接口参考 | MDN

版本

  • Vue CLI 3
  • webpack 4
  • worker-loader 3

vue-cli3 中依赖的 webpack 版本是 "webpack": "^4.0.0",而 "worker-loader": "^3.0.0" 要求的 webpack 版本是 4 | 5
使用前要检查下各个依赖对应版本,不然会引发一些错误。
不同版本配置文件会有所不同,后面介绍。

使用

参考:vue中使用web worker

webpack 配置

vue-cli 的 webpack 配置在 vue.config.js 文件中,Vue CLI 内部的 webpack 配置是通过 webpack-chain 维护的,采用链式操作的写法:

vue.config.js

chainWebpack: config => {
   
	// 配置
    config.module
      .rule('worker')
      .test(/\.worker\.js$/)
      .use('worker')
      .loader('worker-loader')
      .options({
   
        inline: 'fallback'
      })
    // 解决 "window is undefined", 这是因为 worker 线程中不存在 window 对象, 要用 this 代替: (不过我的项目中配置了这个也不行, 用的 self 代替, 后面介绍)
    config.output.globalObject('this')
  }
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值