重构之路:打包速度优化和结尾

本文介绍使用HappyPack和DllPlugin优化Webpack打包速度的方法。HappyPack通过多线程提升打包效率,DllPlugin则将大型库独立打包,减少常规打包负担。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开始

先来说一下,可能有些人会说怎么这么快就结尾了?其实全部的重构肯定是还没完成的,这里说的结尾是前期的配置已经基本完成了。本来还想写一个webpack打包速度的博文,但是发现打包速度的优化可以写的并不多(也可能是我孤陋寡闻…),下面大概写一下。

happypack

webpack本来是单线程的去打包,happypack的速度优化是通过多个线程来进行打包,所以打包速度会比较快。

需要先去执行:
yarn add happypack -D

然后在webpack.config.common.js里:

const HappyPack = require('happypack');//顶部引入

//在js的匹配规则这里
{
    test:/\.(js|jsx)$/,
    exclude: '/node_modules/',
    include:path.resolve(__dirname,'src'),
    use:'HappyPack/loader?id=js',//主要是这里,将之前的全部剪切掉,替换成这样
}


//在plugins里(这里是例子),将刚才剪切掉的拷贝过来:
plugins:[
    new HappyPack({
        id:'js',//注意这里要和前面的id对应上
            use:[
                {
                    loader:'babel-loader',
                    options:{
                        presets:[
                            '@babel/preset-env',
                            '@babel/preset-react'
                        ],
                        plugins:[
                            "@babel/plugin-transform-runtime",
                            ['import',{
                                libraryName:'antd',
                                libraryDirectory: 'es',
                                style:true
                            }]
                        ],
                         //注意cacheDirectory,这里也是一个重要的打包速度优化点,
                         打开这个可以缓存打包过的内容
                        cacheDirectory: true  
                    }
                }
            ]
    }]
]

Dllplugin

Dllplugin也是一个打包速度的优化,在上一章已经讲过了,其实只要尽量减少打包的体积本身就会加快打包的速度了,Dllplugin将一些大的库和框架给单独打包起来,这样平时打包的时候就不需要去打包这部分的代码,就会大大加快打包速度了。

结尾

到这里过重构之路篇章的基本配置是差不多完成了,接下来就是写业务代码了(悲催),后面会讲一些在写业务代码过程中遇到的坑点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值