With given tsconfig.json,
{
"compilerOptions": {
"lib": ["es2015", "dom"]
},
"files": [
"./1_webworker/tstut.ts",
"./1_webworker/worker.ts"
]
}
and folder structure
Ran npm install --save @types/sharedworker
.
In below code(from ./1_webworker/tstut.ts
),
let worker: Worker = new Worker('worker.js');
to use sharedworker syntax, declared:
let worker: SharedWorker.SharedWorker = new SharedWorker('worker.js');
but below is the error.
worker.postMessage('do some work'); // Property 'postMessage' does not exist on type 'SharedWorker'
worker.addEventListener('message', (e) => {
console.log(e.data); // Property 'data' does not exist on type 'Event'
});
How to post a message string to sharedworker?
Here is a working example of
SharedWorker
in TypeScript.caller.ts
worker.ts
The
SharedWorkerGlobalScope
is currently part of the type definition you have pulled from npm. I will submit a pull request to update it shortly.