一文大白话讲清楚webpack基本使用——18——HappyPack

文章目录

一文大白话讲清楚webpack基本使用------18------HappyPack

1. 建议按文章顺序从头看,一看到底,豁然开朗

2. 啥是HappyPack

  • Happy,快乐,pack,打包,HappyPack,快乐打包,意思以前打包不快乐,为啥不快乐,以前打包用啥,webpack,webpack打包为啥不快乐
  • 因为webpack打包是单线程,但处理完这个再处理那个,所以不快乐
  • 那HappyPack怎么就快乐了呢,因为人家可以实现并行处理,同步处理这个和那个,你就说快不快乐吧
  • HappyPack可以将任务分解,派给多个子进程去处理,子进程处理完成后再将结果发送给主进程,从而减少构建时间

3. 怎么使用HappyPack

  • 我们以打包csss为例
  • 我们下载HappyPack插件,
js 复制代码
nom install happypack
  • 然后在webpack.config.js里面引入
js 复制代码
const HappyPack=require("happypack")
  • 然后做以下两件事
  1. 更改loader
  • 在使用HappyPack打包时,我们需要将对应的loader改为HappyPack/loader,通过id来指定
  • 比如我们之前处理css时使用style-loader和css-loader
js 复制代码
{
    test:/\.css$/,
        user:[MiniCssExtractPlugin.loader,'css-loader']
}
  • 使用HappyPack时改为使用happypack/loader?id=css-pack
js 复制代码
{
    test:/\.css$/,
        user:['happypack/loader?id=css-pack']
}
  • 然后在实例化的时候通过上面的idid=css-pack在指明我们这之前的loader->[MiniCssExtractPlugin.loader,'css-loader']
  1. 实例化happpack
  • 每实例化一个happypack相当于开启一个进程,这就是多进程去处理的表现。然后我们在实例化的时候,通过上面的idid=css-pack在指明我们这之前的loader->[MiniCssExtractPlugin.loader,'css-loader']
js 复制代码
 new HappyPack({
    id:'css-pack',//要更上面的id保持对应
    loaders:[MiniCssExtractPlugin.loader,'css-loader']
})
  • ok ,大功告成
  • 其他模块比如js等都类似,大家自行上手,不懂得留言
相关推荐
大橙子额2 小时前
【解决报错】Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘
前端·javascript·vue.js
爱喝白开水a3 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
董世昌413 小时前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
吃杠碰小鸡4 小时前
高中数学-数列-导数证明
前端·数学·算法
kingwebo'sZone4 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
xjt_09014 小时前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js
我是伪码农5 小时前
Vue 2.3
前端·javascript·vue.js
夜郎king5 小时前
HTML5 SVG 实现日出日落动画与实时天气可视化
前端·html5·svg 日出日落
夏幻灵6 小时前
HTML5里最常用的十大标签
前端·html·html5
Mr Xu_6 小时前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js