2017-05-22 22 views
10

Tôi đang sử dụng mô-đun Xuất/Nhập ES2015.Công nhân Web - Cách nhập Mô-đun

Trong tập công nhân của tôi, khi tôi cố gắng nhập các chức năng như tôi thường làm:

worker.js

import { a, b, c } from "./abc.js"; 

tôi nhận được lỗi: SyntaxError: import declarations may only appear at top level of a module

Như tôi chức năng xuất khẩu trong mô-đun 'abc.js' của tôi, tôi không chắc chắn cách sử dụng chúng bằng cú pháp cũ (& rõ ràng trên đường đi):

self.importScripts("/app/abc.js"); 

Vì vậy, câu hỏi của tôi là, cách chúng tôi sử dụng cú pháp mô-đun nhập mới với công nhân?

Câu hỏi thứ hai là, những gì hiện importScripts nhập vào khi nó nhập khẩu từ một mô-đun trong đó không có cha mẹ đối tượng chung được xuất?

Trả lời

7

mô-đun es2015 trong nhân viên chưa được hỗ trợ trong bất kỳ trình duyệt nào.
Khi họ làm, bạn phải tạo một nhân viên như thế này:

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

see: https://html.spec.whatwg.org/#module-worker-example

Đối với bây giờ bạn phải sử dụng importScripts()

Đây là những lỗi-báo cáo cho mỗi trình duyệt :
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

+0

Làm thế nào để biết khi nào nó sẽ được hỗ trợ? – Yairopro

+1

Xem Câu trả lời đã cập nhật của tôi. Chromium đang tích cực phát triển nó. –

Các vấn đề liên quan