本节内容派生于以下链接指向的内容 ,并遵守 CC BY 4.0 许可证的规定。
以下内容如果没有特殊声明,可以认为都是基于原内容的修改和删减后的结果。
Web Workers 是 Rspack 的一等公民,这意味着你不需要任何的 Loader 就可以直接使用 Web Workers。
使用示例可参考:
选择该语法是因为该语法在不使用打包工具时也能运行代码,它可以直接运行在支持 ESModule 的浏览器上运行,是符合标准的 ECMAScript 语法。
需要注意的是 new Worker
也可以接受一个 URL 的字符串表示,但在 Rspack 中只支持传入 URL。
Rspack 不支持在 new Worker
中使用变量。例如,以下代码将不起作用:
这是因为 Rspack 无法静态分析该语法。在 Rspack 中使用 Worker 语法时,请务必注意此限制。
目前的实现支持了大部分常见的使用场景,目前仍不支持以下不常见场景
module.parser.javascript.worker
来自定义 Worker 语法navigator.serviceWorker.register()
等函数调用的 Worker 语法/* webpackEntryOptions: { filename: "workers/[name].js" } */
魔法注释