当前位置: 首页 > 知识库问答 >
问题:

vue.js - vue-cli创建的项目,使用web-worker计算文件内容报错?

麹承
2023-10-27

hash.worker.js内容:

self.importScripts('spark-md5.min.js'); // 导入脚本// 全量 HashpostHashMsg = (fileChunkList) => {  const spark = new self.SparkMD5.ArrayBuffer();  let count = 0;  const loadNext = (index) => {    const reader = new FileReader();    reader.readAsArrayBuffer(fileChunkList[index].chunk);    reader.onload = (e) => {      count++;      spark.append(e.target.result);      if (count === fileChunkList.length) {        self.postMessage({          hash: spark.end(),        });        self.close();      } else {        // 递归计算下一个切片        loadNext(count);      }    };  };  loadNext(0);};self.onmessage = (e) => {  const { fileChunkList, type } = e.data;  if (type === "HASH") {    console.log("self onmessage===>", e, fileChunkList, type);    postHashMsg(fileChunkList);  }};

在另外一个js文件函数引用:

import Worker from './hash.worker.js';function calculateFileHash(fileChunkList) {  return new Promise(resolve => {    const worker = new Worker();    worker.postMessage({ fileChunkList, type: 'HASH' });    worker.onmessage = e => {      const { hash } = e.data;      if (hash) {        resolve(hash);      }    };  });}

启动的时候报了以下错误:

Uncaught TypeError: self.importScripts is not a function

请问怎么解决这个问题?

共有1个答案

汤嘉平
2023-10-27

使用的地方应该引入你的线程(路径)
上方import应该去掉

const worker = new Worker('hash.worker.js(放这个所在位置)');
 类似资料:
  • 本文向大家介绍使用Vue CLI创建typescript项目的方法,包括了使用Vue CLI创建typescript项目的方法的使用技巧和注意事项,需要的朋友参考一下 使用最新的Vue CLI @vue/cli创建typescript项目,使用vue -V查看当前的vue cli版本 安装命令 创建项目 上下键选择,空格键确定 接下来是一些常规选项 下面是询问要不要记录这次配置以便后面直接使用,我

  • vue 项目打包报错? 应该怎么调整? package.json

  • 本文向大家介绍详解Vue使用 vue-cli 搭建项目,包括了详解Vue使用 vue-cli 搭建项目的使用技巧和注意事项,需要的朋友参考一下 vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli  一、 安装 node.js 首先需要安装node环境,可以直

  • 本文向大家介绍详解如何使用vue-cli脚手架搭建Vue.js项目,包括了详解如何使用vue-cli脚手架搭建Vue.js项目的使用技巧和注意事项,需要的朋友参考一下 1. 前言 vue-cli 一个简单的构建Vue.js项目的命令行界面 整体过程: 后面分步说明。 2. 安装 前提条件,Node.js >=4.x版本,建议使用6.x版本。npm版本 > 3.x 全局安装vue-cli 3. 使用

  • 1. 前言 在上一小节中,我们介绍了 Vue-Cli 初始化项目,本小节我们一起来分析以下 Vue-Cli 创建项目的文件结构。 2. 目录结构 首先我们先看以下用 Vue-Cli 创建项目的整体结构: 项目相关的代码,我们都放在 src 的文件夹中,该文件夹中的结构如下: assets 是资源文件夹,通常我们会把图片资源放在里面。 components 文件夹通常会放一些组件。 router 文

  • 本文向大家介绍vue-cli创建的项目中的gitHooks原理解析,包括了vue-cli创建的项目中的gitHooks原理解析的使用技巧和注意事项,需要的朋友参考一下 前言 在使用 vue create my-app 创建项目的时候,Vue 会自动帮我们做好一些预配置,你可以不使用它,但是一旦需要的时候,突然发现,咦~原来它已经帮我做好准备工作了,只需要按自己的需求配置一下就可以了,就会觉得 vu