关于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>
相关推荐
2601_962885721 小时前
AlphaFeed 支持哪些 K 线周期?period参数怎么传?
前端·数据库·python
企业数字化笔记1 小时前
AI工具的文件和参数怎么设计?上传校验、配置版本与可复现任务
前端·人工智能
铁皮饭盒1 小时前
还是网页端, 46mb模型, 抠图功能升级了, 抠任意主体, 还是不要显卡, 不要python, 满意吗?
前端·javascript·后端
怕浪猫1 小时前
Agent 怎么做规划?这道面试题淘汰了 80% 的候选人
前端·面试·agent
YQteamdyq2 小时前
为什么 { ...state } 会悄悄杀掉响应式?yq-sanyi v0.4.2 的三处修复
前端·javascript
Java后端的Ai之路2 小时前
01-React基础教程
开发语言·前端·python·react.js·前端框架
颜进强2 小时前
25 · NestJs DurableProviders 持久化 Provider:把 ContextId 当缓存键
前端·后端·ai编程
爱丶不疚2 小时前
Electron: Sentry 都采集了什么?你知道吗
前端·electron
恋猫de小郭2 小时前
Dart 4.0 要彻底移除 dart:mirrors,Augmentations 应该要来了
android·前端·flutter
流水白开2 小时前
React的Virtual DOM、Diff算法和Fiber
前端·react.js