关于Vue2中使用Web Worker【热更新】

环境配置

安装

js 复制代码
npm install worker-loader

热更新 config配置

js 复制代码
module.exports = {
   chainWebpack: (config) => {
     config.module
      .rule("worker")
      .test(/\.worker\.js$/)
      .use("worker-loader")
      .loader("worker-loader")
      .options({
        inline: "fallback",
      })
      .end();
    config.module.rule("js").exclude.add(/\.worker\.js$/);
   }
}

开始编写worker文件

我这边在项目的src/worker文件夹中创建应该test.worker.js

test.worker.js的

js 复制代码
// 接受主线程发送的通讯
self.addEventListener("message", (e) => {
  const data = e.data;
  
  self.postMessage("线程向主线程发送信息"); // 向主线程发送通讯

  self.terminate(); // 关闭当前线程
});

主线程项目文件,这里使用App.vue

vue 复制代码
<template>
  <div></div>
</template>

<srcipt>
import TestWorker from '@/worker/test.worker.js'

export default {
  name: "App",
  mounted() {},
  methods: {
    handleStartWorker() {
      const worker = new TestWorker();
      worker.postMessage("向子线程发送通讯");
      worker.addEventListener("message", (e) => {
        console.log(e) // 接受子线程发送的通讯数据
      })
    }
  },
};
</srcipt>
相关推荐
泷羽Sec-静安13 分钟前
Less-1 GET-Error based-Single quotes-String GET-基于错误-单引号-字符串
前端·css·网络·sql·安全·web安全·less
小时前端24 分钟前
虚拟DOM已死?90%内存节省的Vapor模式正在颠覆前端
前端·html
Keepreal49625 分钟前
Web Components简介及如何使用
前端·javascript·html
jump68032 分钟前
TS中 unknown 和 any 的区别
前端
无羡仙40 分钟前
AI终于‘看见’网页了!Stagewise让UI修改从‘盲调’变‘指哪打哪
前端
柯腾啊1 小时前
“Script error.”的产生原因和解决办法
前端·javascript·浏览器
沙漠之皇1 小时前
ts 定义重复对象字段
前端
HashTang2 小时前
不用再配服务器了!这套 Next.js + Cloudflare 模板,一个人搞定全栈出海
前端·后端·边缘计算
前端架构师-老李3 小时前
16 Electron 应用自动更新方案:electron-updater 完整指南
前端·javascript·electron
一只学java的小汉堡3 小时前
HTML 01入门:从概念到开发环境搭建与页面头部配置
前端·css·html