thread-loader
thread-loader 是一种在 worker 池中运行以下 loader 的工具。
开始使用
通过 npm、yarn 或 pnpm 安装:
1 | npm install --save-dev thread-loader |
或者
1 | yarn add -D thread-loader |
或者
1 | pnpm add -D thread-loader |
将其放在其他 loader 的前面,以下 loader 将在 worker 池中运行。
在 worker 池中运行的 loader 有一些限制。例如:
loader不能发射文件。loader不能使用自定义loader API(即插件)。loader不能访问webpack配置项。
每个 worker 是一个单独的 node.js 进程,启动一个 worker 大约需要 600ms 的时间。此外,进程间通信也存在一定的开销。
因此,仅将此 loader 用于计算密集型操作!
示例
webpack.config.js
1 | module.exports = { |
带有选项
1 | use: [ |
预热
为了防止在启动 worker 时出现高延迟,可以预热 worker 池。
这将启动池中的最大 worker 数量,并将指定的模块加载到 node.js 模块缓存中。
1 | const threadLoader = require('thread-loader'); |
翻译: thread-loader