在Vue中使用HappyPack

在Vue中使用HappyPack在 Vue 中使用 HappyPack 这篇文章主讲在 Vue 中使用 HappyPack 介绍 HappyPack 安装 HappyPack 引入 HappyPack 使用方法这篇文章主讲在 Vue 中使用 HappyPack 这篇文章主要讲的的是在 Vue 中使用 HappyPack 其中涉及到的其他 webpack 中的知识点 不做讲解 介绍 HappyPack 当你要搜这篇文章是 你肯定已经知道了这个 HappyPack 的作用是什么 但是呢我们还是要说一下他的作用是什么 防止随机点进来的同学一脸懵比的进来 一脸懵逼的出去 由于有大量文

这篇文章主讲在Vue中使用HappyPack

这篇文章主要讲的的是在Vue中使用HappyPack,其中涉及到的其他webpack中的知识点,不做讲解。

介绍HappyPack

由于有大量文件需要解析和处理,构建是文件读写和计算密集型的操作,特别是当文件数量变多后,Webpack 构建慢的问题会显得严重。 运行在 Node.js 之上的 Webpack 是单线程模型的,也就是说 Webpack 需要处理的任务需要一件件挨着做,不能多个事情一起做。

文件读写和计算操作是无法避免的,那能不能让 Webpack 同一时刻处理多个任务,发挥多核 CPU 电脑的威力,以提升构建速度呢?

HappyPack 就能让 Webpack 做到这点,它把任务分解给多个子进程去并发的执行,子进程处理完后再把结果发送给主进程。

安装HappyPack

// 也可以使用 cnpm 切记下载的时候 happypack 得是小写 npm install --save-dev happypack npm i -D happypack 

引入HappyPack

// 引入 Happpack 可以在 package.json 找到你下载的 const HappyPack = require('happypack'); // 安装 OS 模块 这个主要是拿到当前电脑的CPU核数 const os = require('os'); /* 这个是设置共享线程池中的数量 size 控制设置数量 类型 只能是 整数类型 */ const happyThreadPool = HappyPack.ThreadPool({ 
    size: os.cpus().length }); 

使用方法

module.exports = { 
    context: ..., entry: { 
   ...}, output: { 
   ...}, resolve: { 
   ...}, module: { 
    rules: [ // { // 原版 // test: /\.vue$/, // loader: 'vue-loader', // options: vueLoaderConfig, // }, { 
    test: /\.vue$/, loader: 'happypack/loader?id=vue', // options: vueLoaderConfig, include: [resolve('src')], exclude: /node_modules/, }, // { // 原版 // test: /\.js$/, // loader: 'babel-loaderl', // include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')], // }, { 
    test: /\.js$/, loader: 'happypack/loader?id=happyBabel', include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')], // include: [resolve('src')], exclude: /node_modules/, }, ], }, plugins: [ new HappyPack({ 
    //用id来标识 happypack处理那里类文件 id: 'happyBabel', //如何处理 用法和loader 的配置一样 // cache: false, loaders: [{ 
    loader: 'babel-loader?cacheDirectory=true', // loader: 'babel-loader', }], //共享进程池 threadPool: happyThreadPool, //允许 HappyPack 输出日志 // verbose: true, }), new HappyPack({ 
    id: 'vue', cache: false, loaders: [{ 
    loader: 'vue-loader', options:vueLoaderConfig }], threadPool: happyThreadPool }), ], node: { 
   ...} } 

其他的就没了 。有漏掉的知识点,朋友们请在留言评论。谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176612.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午9:29
下一篇 2026年3月26日 下午9:30


相关推荐

  • 最简单的纯js实现点击展开二级菜单功能

    最简单的纯js实现点击展开二级菜单功能虽然,jQuery已经非常好用了,但是实际的开发项目中,还是有很多限制,比如项目组奇葩的要求,不能使用任何插件,当然,也是考虑插件占用资源,毕竟100+KB对与小型项目来说还是非常大的。我最近就遇到做个点击展开二级菜单的要求,当然只能用原生的JS去写来实现,我借鉴了网上的一个案例,补充一下,分享一下:如果,默认打开页面进来时二级菜单是隐藏的,需要点击才能展现二级菜单,再点击就是隐藏二级菜单。这

    2022年5月11日
    53
  • JavaSE基础(101) 遍历ArrayList集合的4种方式[通俗易懂]

    JavaSE基础(101) 遍历ArrayList集合的4种方式[通俗易懂]ArrayList遍历:取出ArrayList集合中的数据①:for循环②:增强for循环:foreach③:Iterator:迭代器④:ListIterator:双向迭代器ex:/***ArrayList遍历:取出ArrayList集合中的数据*①:for循环*②:增强for循环:foreach*③:Iterator:迭代器*④:…

    2022年7月22日
    16
  • Jettison for Mac(外部磁盘实用工具)

    Jettison for Mac(外部磁盘实用工具)JettisonMac 版是一款外部磁盘实用工具 如果您经常忘记在 Mac 电脑睡眠前弹出您的外部驱动器 这样会使外部驱动器损坏或者让外部驱动器出现错误 还有可能会丢失数据 而 JettisonforM 可以在您睡眠浅自动为您弹出 非常的优秀 https mac orsoon com Mac 158498 htmlJettison 是 Macos 平台上的一款非常不错的辅助工具 Jettisonform 是一款能自动弹出 Mac 外部磁盘的实用小工具 JettisonMac

    2026年3月16日
    3
  • Unity 协程

    Unity 协程协程前言调用方式停止方式yiledreturn语句执行时机WaitForSeconds(floatTime)WaitForSecondsRealtime(floattime)WaitForEndOfFrame()WaitForFixedUpdate()WaitUntil(Funcpredicate)WaitWhile(Funcpredicate)实现自定义函数实际开发中使用建议前言协程是unity提供的一个特殊的机制,他的特点就是可以方便的实现流程化的东西。但是就他的效率而言个人感觉并不乐观,

    2022年6月15日
    52
  • 比 file_get_contents() 更优的 cURL 详解(附实例)「建议收藏」

    比 file_get_contents() 更优的 cURL 详解(附实例)

    2022年2月9日
    54
  • centos挖矿程序解决

    centos挖矿程序解决centos挖矿程序解决第一种办法:1.top找到cup占比最高的程序2.ps-aux|grepCOMMAND3.crontab-l查看定时任务4.然后删除挖矿脚本和定时任务脚本5.如果删不掉chattr-i脚本6.然后再删7.然后crontab-e清除掉脚本内容…

    2022年6月22日
    103

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号