gpt4 book ai didi

javascript - Web Worker 可以访问 Vue 应用程序中定义的类吗?

转载 作者:行者123 更新时间:2023-12-05 05:45:01 25 4
gpt4 key购买 nike

我正在构建一个使用 Vue 作为前端的应用程序,特别是 Vue 3 Composition API + Typescript。我需要能够在后台使用 web worker 来处理长时间运行的进程。我能够让 vanillajs 网络 worker 与 Vue 应用程序一起运行没问题。我的问题是我需要我的网络 worker 能够访问 Vue 应用程序中编写的类和函数。我的网络 worker 和我的 Vue 应用程序都需要使用相同的类和函数,我不想在两个地方编写它们。有没有办法分享它们?感谢您的帮助。

最佳答案

我能够使用 esbuild 找到解决方案.我向我的 npm run servenpm run build commands 添加了一个进程,因此它在 vue-cli 命令之前运行 node ./esbuild.js .这会将我的 typescript web worker 编译为 javascript,并在编译 Vue 应用程序之前将其放入 public 文件夹中。现在我可以像平常一样创建一个 web worker:

const worker = new Worker('/worker.js', { type: 'module' })

这是我的 esbuild.js 文件:

const esbuild = require('esbuild')
const { nodeExternalsPlugin } = require('esbuild-node-externals')

const config = {
entryPoints: ['./src/workers/worker.ts'],
outfile: 'public/worker.js',
bundle: true,
minify: false,
plugins: [nodeExternalsPlugin()]
}

esbuild.build(config).catch(() => process.exit(1))

关于javascript - Web Worker 可以访问 Vue 应用程序中定义的类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71487912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com