美文网首页
编译优化-HappyPack

编译优化-HappyPack

作者: 栗子daisy | 来源:发表于2020-06-12 16:30 被阅读0次

多线程(多进程模拟)支持
HappyPack的工作原理:在Webpack和Loader之间多加了一层,改成了Webpack并不是直接去和某个Loader进行工作,而是Webpack test到了需要编译的某个类型的资源模块后,将该资源的处理任务交给了HappyPack,由HappyPack在内部线程池中进行任务调度,分配一个线程调用处理该类型资源的Loader来处理这个资源,完成后上报处理结果,最后HappyPack把处理结果返回给Webpack,最后由Webpack输出到目的路径。通过这一系列操作,将原本都在一个Node.js线程内的工作,分配到了不同的线程(进程)中并行处理。

使用方法如下:

首先引入HappyPack并创建线程池:

const HappyPack = require('happypack');
const happyThreadPool = HappyPack.ThreadPool({size: require('os').cpus().length - 1});

替换之前的Loader为HappyPack的插件:

{
    test: /\.(js|mjs|jsx|ts|tsx)$/,
    include: paths.appSrc,
    use: ['happypack/loader?id=babel-application-js'],
},

将原Loader中的配置,移动到对应插件中:

new HappyPack({
    id: 'babel-application-js',
    threadPool: happyThreadPool,
    verbose: true,
    loaders: [
        {
            loader: require.resolve('babel-loader'),
            options: {
                ...省略
            },
        },
    ],
}),

Webpack v4编译速度优化实践

相关文章

  • 编译优化-HappyPack

    多线程(多进程模拟)支持HappyPack的工作原理:在Webpack和Loader之间多加了一层,改成了Webp...

  • 2022-04-17

    happyPack与thread-load happyPack实现多线程编译 webpack在node中是单线程的...

  • webpack编译优化

    升级 webpack 版本至 4.x 使用 happypack 进行多线程编译 webpack 4.0 发布后 h...

  • 提高webpack构建速度

    优化webpack构建速度。 主要的思路是开启node的多线程,进行构建,提高构建速度 使用happypack w...

  • webpack优化之HappyPack 实战

    由于运行在 Node.js 之上的 Webpack 是单线程模型的,所以Webpack 需要处理的事情需要一件一件...

  • Webpack(九):HappyPack优化构建

    一:什么是HappyPack? 作用是什么? Webpack是允许在NodeJS中的,它是单线程模型的,因此web...

  • webpack 4.0 happypack

    happypack是用来多线程打包首先安装yarn add happypack -D 打包效果:

  • LLVM

    一、编译器 性能优化:启动优化、界面优化、架构优化 编译型语言:OC(编译器是clang)、C(编译器可以直接执行...

  • Build settings探究之—编译优化

    Build settings探究之—编译优化 Build settings探究之—编译优化

  • iOS的性能优化

    1、ipa包体积优化 1.1 编译配置优化:编译器代码层面优化Optimize Level;Bitcode(较难...

网友评论

      本文标题:编译优化-HappyPack

      本文链接:https://www.haomeiwen.com/subject/fdxntktx.html