Я хотел бы заключить в капсулу веб-работника, чтобы я мог легко использовать его в других проектах.
Это то, что я сделал. Однако я получаю сообщение об ошибке:
Uncaught SyntaxError: Unexpected token 'export'
Но когда я комментирую строку кода this.worker = new Worker(workerPath);
в Heartbeat.js
, этот код не вызывает никаких проблем.
Что здесь не так?
мой файл index.html:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
</head>
<body>
<script type="module" src="js/script.js"></script>
</body>
</html>
js / script.js:
import * as Heartbeat from "./Heartbeat.js";
var hb = new Heartbeat.Heartbeat("MyHeartbeat");
и js / Heartbeat.js
export class Heartbeat {
constructor(name, workerPath="js/Heartbeat.js") {
this.name = name;
this.worker = new Worker(workerPath);
}
sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }
async start_heartbeat() {
counter = 0;
while(true) {
counter++;
console.log("counter = " + counter)
await sleep(1000);
}
}