2017-05-22 33 views
10

私はES2015インポート/エクスポートモジュールを使用しています。私のワーカーファイルでWebワーカー - モジュールをインポートする方法

、私は通常どおりのような機能をインポートしよう:

worker.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"); 

私の質問は、新しいインポートモジュール構文をどのように労働者に使用するのかということです。

2番目の質問は、importScriptsは、グローバルオブジェクトの親がエクスポートされていないモジュールからインポートするときに何をインポートするのですか?

答えて

7

労働者のes2015モジュールは、どのブラウザでもまだサポートされていません。
彼らは、あなたがこのような労働者を作成する必要があります一度:

new Worker("worker.js", { type: "module" }); 

を参照してください:あなたはimportScripts()

これらを使用する必要が今の https://html.spec.whatwg.org/#module-worker-example

は、各ブラウザのためのバグレポートです:
Firefox:
クロム:https://bugs.chromium.org/p/chromium/issues/detail?id=680046
のWebkit:https://bugs.webkit.org/show_bug.cgi?id=164860
エッジ:https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/20469133-implement-worker-modules

+0

それがサポートされるとき、どのように知るには? – Yairopro

+1

更新された回答を参照してください。クロムは積極的に開発中です。 –

関連する問題