请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

thread-loader

老师您看下这么配置有么有问题,别的地方的一个配置?

我有一点不太明白的是,worker: os.cpus().length - 1 ,为什么 thread-loader 要留一个 woker 给 fork-ts-checker-webpack-plugin (ts 和 js 的打包是并行的吗?)

如果它们(js 和 ts)打包执行是并行的,那么是不是也应该留一些 worker 给 ts-loader 的 happyPack

还有 ts-loader 开启 happyPack 后,还可以继续用 thread-loader 吗?,如果开启,进程会不够用,冲突吗?

对于 js 的优化

{
          test: /\.jsx?$/,
          use: [
            'cache-loader',
            {
              loader: 'thread-loader',
              options: {
                worker: os.cpus().length - 1,
              },
            },
            {
              loader: 'babel-loader',
              ...
}

对于 ts 的优化

{
          test: /\.tsx?/,
          use: [
             'cache-loader',
            {
              loader: 'ts-loader',
              options: {
                happyPackMode: true,
                transpileOnly: true,
              },
            },
          ],
        },

...
plugins: [
	new ForkTsCheckerWebpackPlugin({
        checkSyntacticErrors: true,
        async: false,
      }),
]

正在回答 回答被采纳积分+3

1回答

Dell 2021-12-13 23:29:40

fork-ts-checker-webpack-plugin 这个 loader 是串联 ts 检测的 loader,必须预留一个 woker 给其使用。其他的 loader,根据你的 cpu 数量来分配 worker,多了就每人一个,少了就共享

0 回复 有任何疑惑可以回复我~
  • 提问者 诺巴蒂 #1
    还有个问题,如果我不配置 worker: os.cpus().length - 1,它会自己想办法吗分配吗
    回复 有任何疑惑可以回复我~ 2021-12-14 11:28:01
  • 提问者 诺巴蒂 #2
    好像 thread-loader 配置相同用的是同一个进程池,那如果我的 ts-loader 和 js-loader 都用了  thread-loader,会不会出现 ts-loader 把所有进程抢占,js-loader 无法执行的情况
    回复 有任何疑惑可以回复我~ 2021-12-14 11:35:06
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信