worker-loader icon indicating copy to clipboard operation
worker-loader copied to clipboard

Document usage with Typescript / Webpack config style

Open stoplion opened this issue 3 years ago • 5 comments

Documentation Is:

  • [x] Missing
  • [x] Needed
  • [ ] Confusing
  • [ ] Not Sure?

Please Explain in Detail...

Please add documentation on how to use this lib with Typescript that uses the config style, NOT the inline imports. Most tutorials I've seen have moved on from the inline imports style. It isn't clear how to use this lib with Typescript / config style. Thanks!

Your Proposal for Changes

stoplion avatar May 07 '21 21:05 stoplion

What do you mean? Please clarify

alexander-akait avatar May 10 '21 13:05 alexander-akait

What is missing here https://github.com/webpack-contrib/worker-loader#integrating-with-typescript?

alexander-akait avatar May 10 '21 13:05 alexander-akait

https://github.com/webpack-contrib/worker-loader#config, change /\.worker\.js$/ on /\.worker\.(js|ts)$/

alexander-akait avatar May 10 '21 13:05 alexander-akait

I have a Typescript error related to worker-loader that I don't know how to fix.

I use the following definition as described in the documentation :

declare module '*.worker.js' {
	class WebpackWorker extends Worker {
		constructor()
	}

	export default WebpackWorker
}

But when I include the worker with

import MyWorker from "./my.worker.js`

I get

Module '"/home/mquandalle/myproject/my.worker"' has no default export. ts(1192)

It seems Typescript is using the interface of the file my.worker.js (from the filesystem) instead of the type definition defined above. I don't know how to configure it to “overwrite” this type definition.

Note that the "worker-loader!*" type definition is working but I can't use it since I need to run multiple loaders (babel + worker-loader).

mquandalle avatar Jun 10 '21 13:06 mquandalle

I am getting a similar error that @mquandalle mentioned; 'src/my.worker"' has no default export.' Has anyone had any luck figuring out how to fix it?

My include looks like the documented example, as does my type definition file. import Worker from "./my.worker.ts";

camillewall avatar Jul 20 '21 23:07 camillewall