2017-05-22 26 views
10

मैं ES2015 आयात/निर्यात मॉड्यूल का उपयोग कर रहा हूं।वेब श्रमिक - मॉड्यूल कैसे आयात करें

मेरी कार्यकर्ता फ़ाइल में, जब मैं कार्यों आयात करने की कोशिश है कि मैं सामान्य रूप से कार्य करें:

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

तो, मेरा सवाल यह है कि हम श्रमिकों के साथ नए आयात मॉड्यूल सिंटैक्स का उपयोग कैसे करते हैं?

दूसरा प्रश्न यह है कि importScripts आयात करता है जब यह किसी मॉड्यूल से आयात करता है जहां कोई वैश्विक वस्तु अभिभावक निर्यात नहीं किया जाता है?

उत्तर

7

श्रमिकों में es2015 मॉड्यूल अभी तक किसी भी ब्राउज़र में समर्थित नहीं हैं।

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

देखें: https://html.spec.whatwg.org/#module-worker-example

अभी के लिए आप importScripts()

उपयोग करने के लिए इन प्रत्येक ब्राउज़र के लिए बग रिपोर्ट कर रहे हैं
एक बार वे करते हैं, तो आप इस तरह एक कार्यकर्ता बनाने के लिए :
फ़ायरफ़ॉक्स:https://bugzilla.mozilla.org/show_bug.cgi?id=1247687
क्रोमियम:https://bugs.chromium.org/p/chromium/issues/detail?id=680046
वेबकिट: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

मेरा अद्यतन उत्तर देखें। क्रोमियम सक्रिय रूप से इसे विकसित कर रहा है। –

संबंधित मुद्दे