threads-loader
threads worker loader module for webpack
Requirements
This module requires a minimum of Node v6.9.0 and Webpack v4.0.0.
** MUST USE THE @jc-lab/threads PACKAGE**
Getting Started
To begin, you'll need to install threads-loader
:
$ npm install threads-loader --save-dev
Inlined
// App.js;const worker = ;
OR
const worker = { iftypeof __webpack_require__ === 'function' return ; else return './Worker.js'; };
Config
// webpack.config.js module: rules: test: /\.thread\.js$/ use: loader: 'threads-loader' test: /\.thread\.ts$/ use: loader: 'ts-loader' loader: 'threads-loader'
// App.js;;const instance = await ;...
And run webpack
via your preferred method.
Options
name
Type: String
Default: [hash].thread.js
To set a custom name for the output script, use the name
parameter. The name
may contain the string [hash]
, which will be replaced with a content dependent
hash for caching purposes. When using name
alone [hash]
is omitted.
// webpack.config.js loader: 'threads-loader' options: name: 'WorkerName.[hash].js'
publicPath
Type: String
Default: null
Overrides the path from which worker scripts are downloaded. If not specified, the same public path used for other webpack assets is used.
// webpack.config.js loader: 'threads-loader' options: publicPath: '/scripts/workers/'
inline
Type: boolean
Default: false
You can also inline the worker as a BLOB with the inline parameter.
(If you are in a node environment, the eval option of worker_threads is used)
// webpack.config.js loader: 'threads-loader' options: inline: true
OR
;
Integrating with TypeScript
To integrate with TypeScript, you will need to define a custom module for the exports of your worker
// typings/custom.d.tsdeclare
License
MIT
worker-loader
Thanks forthreads-loader is built on the code of worker-loader.