时间:2021-05-26
由于运行在 Node.js 之上的 Webpack 是单线程模型的,所以Webpack 需要处理的事情需要一件一件的做,不能多件事一起做。
我们需要Webpack 能同一时间处理多个任务,发挥多核 CPU 电脑的威力,HappyPack 就能让 Webpack 做到这点,它把任务分解给多个子进程去并发的执行,子进程处理完后再把结果发送给主进程。
由于 JavaScript 是单线程模型,要想发挥多核 CPU 的能力,只能通过多进程去实现,而无法通过多线程实现。
提示:由于HappyPack 对file-loader、url-loader 支持的不友好,所以不建议对该loader使用。
安装 HappyPack
运行机制
使用 HappyPack
修改你的webpack.config.js 文件
const HappyPack = require('happypack');const os = require('os');const happyThreadPool = HappyPack.ThreadPool({ size: os.cpus().length });module.exports = { module: { rules: [ { test: /\.js$/, //把对.js 的文件处理交给id为happyBabel 的HappyPack 的实例执行 loader: 'happypack/loader?id=happyBabel', //排除node_modules 目录下的文件 exclude: /node_modules/ }, ] },plugins: [ new HappyPack({ //用id来标识 happypack处理那里类文件 id: 'happyBabel', //如何处理 用法和loader 的配置一样 loaders: [{ loader: 'babel-loader?cacheDirectory=true', }], //共享进程池 threadPool: happyThreadPool, //允许 HappyPack 输出日志 verbose: true, }) ]}HappyPack 参数
总结
如果想详细了解happypack的原理 可以看这篇文章
happypack 原理解析
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文主要介绍了关于webpack配置的最佳实践,本文分享的实践具有以下的优势:使用happypack提升打包速度。使用MD5hash可以生成文件版本,进行版本控
本文介绍了详解webpack之scss和postcss-loader的配置,分享给大家,具体如下:开始npmisass-loadernode-sasspostc
最近更新了webpack配置详解,可移步vue-cliwebpack详解对于Vue.js来说,如果你想要快速开始,那么只需要在你的html中引入一个标签,加上C
Linux中的通配符详解及实例一通配符二实战[root@localhost~]#mkdirdy[root@localhost~]#cddy[root@local
上篇文章给大家介绍了在webpack中使用ECharts的实例详解,可以点击查看。1.使用NPM安装(全局引入)执行下面的命令:npminstallechart