"Error: Cannot find module '/engine-learn/Worker'" or "Error: expose() called in the master thread."
- Dominant language
- TypeScript
- Stars
- 3.5k
- Forks
- 173
- PR merge metrics
- No merged PRs in 30d
Description
My Nx setup using `threads.js` ain't working...I'm getting either this error:
> Error: Cannot find module 'engine-learn/Worker'
...when my setup looks like this:
```
// index.ts
export * from './EngineLearn';
// Worker.ts
import { expose } from 'threads/worker';
const trainModel = async () => {
console.log("In trainModel");
};
expose(trainModel);
// EngineLearn.ts
import { Pool, spawn, Worker } from 'threads';
export class EngineLearn {
trainModels = async () => {
console.log('Hello');
const pool = Pool(() => spawn(new Worker('./Worker')));
};
}
```
...or, if I export `Worker.ts` in my root `index.ts`, like this:
```
// index.ts
export * from './EngineLearn';
export * from './Worker';
```
...I get:
> "Error: expose() called in the master thread."
It seems the module is not included in the build if I export it in `index.ts`, and so cannot be found; but, if I do, `expose()` is immediately invokes and it gives rise to the other error.
What to do 🤷🏻
I am using the `@nrwl/esbuild:esbuild` build executor.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.