当前位置: 首页 > news >正文

webpack多进程打包

webpack多进程打包

Thead

webpack对于js文件处理主要就是eslintbabelTerser这三个工具
webpack.js

const os=require('os')//nodejs核心模块可以直接使用
//cpu核数
const threads=os.cpus().length;

然后下载包
npm i thread-loader -D

然后再配置js的rules中写规则,规则写在loader前面

const CssMinimizerPlugin = require('css-minimizer-webpack-plugin')//引入
....
 {
                        test: /\.js$/,
                        exclude: /node_modules/,//排除node_modules不处理
                        use:[
                            //在我们需要开启多进度的loader前面配置
                            {
                                 loader:"thread-loader",//开启多进程
                                 options:{
                                    works:threads,//进程数量
                                 }
                            },
                            {
                                loader: 'babel-loader',
                                options: {
                                    // presets: ['@babel/preset-env']//外面babel.config写了
                                    cacheDirectory:true,//开启babel缓存
                                    cacheCompression:false,//关闭缓存文件压缩,
                                }
                            }
                        ]
                    }

在这里插入图片描述
在这里插入图片描述

这里注意多进程压缩可以写在plugin中,也可以写在外面压缩的位置,官网是写在下面的parallel:threads,

减少代码体积Tree Shaking

开发时候我们引入第三方资源库,如果不做处理的话打包的时候就会引入整个库,这时我们用按需打包就好了,依赖于es模块化语法,这个webpack自动配置好了

babel

babel为编译的每个文件都插入了辅助代码使代码体积过大,babel对一些公共方法使用了非常小的辅助代码,比如_extend,默认情况下会被添加到每一个需要他的文件中,可以将这些辅助代码作为一个独立模块,来避免重复引入

@babel/plugin-transform-runtime:禁用了babel自动对每个文件runtime注入,而是引入
@babel/plugin-transform-runtime并且使所有辅助代码从这里引用

首先
下载包
npm i @babel/plugin-transform-runtime -D
在这里插入图片描述

   plugins:["@babel/plugin-transform-runtime"],//减少代码体积

图片压缩image Minimizer

开发引用了大量图片体积就会过大,我们可以对图片进行压缩减少图片体积

  • image-minimizer-webpack-plugin:用来压缩图片的插件

首先下载包
npm i image-minimizer-webpack-plugin imagemin -D
还需要下载一个包有下面两种模式

  • 无损压缩

  • npm install imagemin-gifsicle imagemin-jpegtran imagemin-optipng imagemin-svgo -S

  • imagemin-gifsicle包没有下载下来报错内容,百度了有的说国外dns的问题暂时记录一下,解决的小伙伴欢迎留言

  • 在这里插入图片描述

  • 有损压缩

  • npm install imagemin-gifsicle imagemin-mozjpeg imagemin-pngquant imagemin-svgo --save-dev

多入口打包

在这里插入图片描述

多入口代码重复部分提出来单独引用配置

在这里插入图片描述

相关文章:

  • 索尼IMX316 标定_ToF模块相机校准
  • 【Proteus仿真】【51单片机】智能鱼缸系统设计
  • 瑞吉外卖2.0 Redis 项目优化 Spring Cache MySQL主从复制 sharding-JDBC Nginx
  • 2023-02-04 Elasticsearch 倒排索引的理解 Trie前缀树原理
  • 【DIY小记】VMWare设置主机连接到的Ubuntu虚拟机的网络端口
  • Spring Boot 集成Quartz
  • 【Java学习】JUC并发编程
  • 【入门AUTOSAR网络管理测试】CANoe测试T_STARTx_AppFrame时间
  • Apache Shiro身份验证绕过(CVE-2023-22602)
  • Cadence PCB仿真 使用 Allegro PCB SI 为电源网络分配电压并选择仿真的电源网络的方法图文教程
  • (考研湖科大教书匠计算机网络)第三章数据链路层-第六节媒体接入控制3:载波监听多址接入-碰撞避免(CSMA-CA)协议
  • ocs系统介绍
  • JVM运行时数据区
  • PMP考试答题技巧及注意事项
  • SSRF盲打 Collaborator everywhere
  • 49_逻辑漏洞
  • Spring Batch 作业启动方式
  • C++11 异常
  • R6220关于breed刷机,breed-2022-07-24 r1416
  • 【webpack】前端工程化与webpack
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉