正在加载工作脚本
🌐 Loading worker scripts
Worker 脚本是从本地文件系统或内存中同步读取的,而不是通过网络获取,这会改变哪些 URL 被接受以及如何报告失败:
🌐 Worker scripts are read synchronously from the local file system or from memory rather than fetched over the network, which changes which URLs are accepted and how failures are reported:
new Worker()和importScripts()只接受file:、data:和blob:的 URL。任何其他方案都会让new Worker()抛出NotSupportedError,而importScripts()会抛出NetworkError。- 一个无法读取的脚本会让
importScripts()抛出NetworkError;对于new Worker(),它会在Worker对象上触发error事件。 - 重定向、
nosniff检查和 HTTP MIME 类型验证不适用。MIME 类型只对data:和blob:URL 进行验证。credentials选项会为 API 兼容性进行验证,但没有任何效果,因为不会发起网络请求。 - 在主线程上,相对的脚本 URL 会相对于当前工作目录解析,因为没有文档基础 URL。在 worker 内,它们会相对于 worker 自己的 URL 解析(就像规范中规定的那样)。
- 对于
blob:URL,脚本必须保存在内存中,所以像fs.openAsBlob()返回的那种由文件支持的 blobs 不能使用。
类型剥离 只适用于从 file: URL 加载的模块工作者。type 选项,而不是文件扩展名,决定了入口如何运行,所以 .cts 入口仍然会被作为 ES 模块进行评估。