web worker 在开发环境不能调用本地workjs吗?

安全错误:位于 file:///D:/Vue_vue/TsDemo/index.html 的内容不可以加载来自 file:///D:/Vue_vue/TsDemo/worker.js 的数据。

Web Worker在开发环境中不能直接调用本地的Worker脚本(.js文件),因为Worker线程无法读取本地文件(file://)。Worker线程只能加载来自网络的脚本。这是由于浏览器的安全策略所限制的。

如果你想在开发环境中使用Web Worker,你可以将Worker脚本部署到一个服务器上,并通过网络地址来加载它。这样,Web Worker就可以正常工作了。

以下是一个示例,演示了如何在开发环境中使用Web Worker来调用远程的Worker脚本:

// 在主线程中创建Web Worker
const worker = new Worker('http://example.com/worker.js');

// 向Web Worker发送消息
worker.postMessage('Hello from main thread!');

// 监听Web Worker的消息
worker.onmessage = function(event) {
  console.log('Message from worker:', event.data);
};

// 在Worker脚本中处理消息
self.onmessage = function(event) {
  console.log('Message from main thread:', event.data);
  // 执行一些耗时的操作...
  // 发送消息回主线程
  self.postMessage('Hello from worker!');
};

Worker脚本(worker.js)必须通过网络地址(例如http://example.com/worker.js)来加载,而不是本地文件路径。

你可能感兴趣的:(前端,javascript,开发语言)