ES2015 modules in Workers are available in Safari and in Chromium browsers.
If other browsers / versions are your target, you still need to use importScripts()
.
When available, you create a module-worker like this:
new Worker("worker.js", { type: "module" });
See: https://html.spec.whatwg.org/#module-worker-example
These are the bug-reports for each browser:
- Firefox: In development (almost done) 🛑 please vote!
- Chromium Browsers:
Dedicated Workers: Available since version 80 ✔️
Shared Workers: Available since version 83 ✔️
Service Workers: Available since version 91 ✔️ - Webkit:
Safari Desktop: Available since Safari 14.1 ✔️
Safari Mobile (iOS): Available since Safari 15 ✔️