Web Workers - Как Импортировать Модули
Я использую модули импорта / экспорта ES2015.
в моем рабочем файле, когда я пытаюсь импортировать функции, как я обычно делаю:
работника.js
import { a, b, c } from "./abc.js";
Я получаю ошибку:
SyntaxError: import declarations may only appear at top level of a module
как я экспортирую функции в моем модуле " abc.js', я не уверен, как использовать их, используя старый (и, по-видимому, на выходе) синтаксис:
self.importScripts( "/app/abc.js" );
Итак, мой вопрос в том, как мы используем новый синтаксис модуля импорта с рабочие?
второй вопрос, Что значит importScripts
импорт в, когда он импортирует из модуля, в котором нет экспортируемого родителя глобального объекта?
1 ответов
модули es2015 в workers еще не поддерживаются ни в одном браузере.
Как только они это сделают, вы должны создать рабочий такой:
new Worker("worker.js", { type: "module" });
посмотреть: https://html.spec.whatwg.org/#module-worker-example
теперь вы должны использовать importScripts()
эти сообщения об ошибках для каждого браузера:
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1247687
Chromium: https://bugs.chromium.org/p/chromium/issues/detail?id=680046
Webkit: https://bugs.webkit.org/show_bug.cgi?id=164860
Edge: https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/20469133-implement-worker-modules