关于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>
相关推荐
万少1 天前
HarmonyOS 开发必会 5 种 Builder 详解
前端·harmonyos
橙序员小站1 天前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
炫饭第一名1 天前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫1 天前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊1 天前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter1 天前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折1 天前
Cesium-气象要素PNG色斑图叠加
前端·cesium
Forever7_1 天前
Electron 淘汰!新的桌面端框架 更强大、更轻量化
前端·vue.js
Angelial1 天前
Vue3 嵌套路由 KeepAlive:动态缓存与反向配置方案
前端·vue.js
jiayu1 天前
Angular学习笔记24:Angular 响应式表单 FormArray 与 FormGroup 相互嵌套
前端