小编Shr*_*mar的帖子

如何在 NextJS 10 中初始化 webworker?

我有一个 Next 10 项目,我正在尝试使用 WebWorkers。工作人员正在像这样初始化:

window.RefreshTokenWorker = new Worker(new URL('../refreshToken.worker.js', import.meta.url))
Run Code Online (Sandbox Code Playgroud)

我还将 Worker 定义为

self.addEventListener('message', (e) => {
  console.info("ON MESSAGE: ", e)
  // some logic with e.data
})
Run Code Online (Sandbox Code Playgroud)

它也被这样称呼:

const worker = getWorker() // gets worker that is attached at the window level
worker.postMessage('start')
Run Code Online (Sandbox Code Playgroud)

我的next.config.js文件定义为

const nextConfig = {
  target: 'serverless',
  env: getBuildEnvVariables(),
  redirects,
  rewrites,
  images: {
    domains: []
  },
  future: { webpack5: true },
  webpack (config) {
    config.resolve.alias['@'] = path.join(__dirname, 'src')
    return config
  }
}

// more …
Run Code Online (Sandbox Code Playgroud)

javascript worker web-worker webpack next.js

4
推荐指数
1
解决办法
9219
查看次数

标签 统计

javascript ×1

next.js ×1

web-worker ×1

webpack ×1

worker ×1