解决webpack打包速度慢的解决办法汇总
发布时间 - 2026-01-11 02:13:14 点击率:次刚开始用webpack,谈一谈解决webpack打包慢的问题的方法

技巧1
webpack在打包的时候第一次总是会做很长的准备工作,包括加载插件之类的。在刚接触webpack的时候总是webpack一下-测一下-改一下-再webpack一下,这种方式最后让很多人崩溃了觉得webpack一点都不好用。其实这是错误的使用方式。
正确的方式应直接执行webpack --watch 这样webpack会自动编译,第一回的时候确实很慢,但之后的自动编译就要快了好多,打包时间相差几倍。
技巧2
webpack配合的React,jQuery一些共有的库去使用,虽然没写几行代码却发现我靠打个文件居然好几M了。能不能不让这些共有库打入我们的文件呢?
externals:
{
'antd':true,
'react': 'React',
'react-dom': 'ReactDOM'
}
在webpack配置文件的根上加上这些内容。告诉webpack在require(“react”)的时候不要去加载模块,直接去读(这里还不是很明白,有的说“:”后面是window.React,写了后面可以直接使用无需require,待确定后再补充,一般写true就可以了),当然这种方式要在html入口手动引入js文件:
<script src="node_modules/react/dist/react-with-addons.js"></script> <script src="node_modules/react-dom/dist/react-dom.min.js"></script> <script src="node_modules/antd/dist/antd.min.js"></script>
在项目中正常使用require(“react”)试试,不会被打进去了,文件变为了几k,突然感觉webpack这东西还是能用的。
技巧3
大部分情况下通过技巧2已经可以搞定大部分问题了,但是在用MaterialUI的时候,点击事件总是报一个错误,大概意思是重复的引入了react什么的。如果出现这个问题,那么请使用技巧3。将那些共有的模块打进另外一个文件中,然后使用CommonsChunkPlugin插件,在webpack –watch非第一编打包的时候就不会重复的打另外一个文件了。
entry: {
//这是我自己文件的入口,换成自己的
main: './apps/main.jsx',
//这个是把外面的东西打包成common.js
'common':['./node_modules/react/dist/react-with-addons.min.js','./node_modules/react-dom/dist/react-dom.min.js']
},
plugins: [
//把common.js变为共有的,除第一遍打包后就不会再打包了
new webpack.optimize.CommonsChunkPlugin('common', 'common.js')
]
output: {
path: path.resolve(containerPath,'dist/'),
filename: '[name].js'
}
在webpack配置文件的根上加上这些内容,在html入口处需要引入common.js
//确认一下是不是第一回打包后这个文件已经有了 <script src="dist/common.js"></script>
这种方式在webpack -watch后第一遍依旧很慢(因为要打common) 之后修改默认打包是就不会再打common了。而且还有一个优点就是不用再引React,jquery一堆文件了,只引common一个文件就ok。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# webpack打包速度
# webpack
# 速度慢
# 打包速度慢
# Webpack打包慢问题的完美解决方法
# Webpack打包构建太慢试试这几个提升打包速度方案
# 另外一个
# 打进
# 很慢
# 配置文件
# 自己的
# 第一回
# 这是
# 加载
# 都不
# 去了
# 的说
# 就不
# 很多人
# 不是很
# 这个问题
# 要去
# 要在
# 这是我
# 请使用
# 还有一个
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何创建自定义中间件?(Middleware代码示例)
如何快速搭建高效可靠的建站解决方案?
微信公众帐号开发教程之图文消息全攻略
jquery插件bootstrapValidator表单验证详解
如何在阿里云虚拟主机上快速搭建个人网站?
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
Laravel怎么实现模型属性的自动加密
Laravel如何实现一对一模型关联?(Eloquent示例)
JavaScript如何实现倒计时_时间函数如何精确控制
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
android nfc常用标签读取总结
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
高性价比服务器租赁——企业级配置与24小时运维服务
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
WEB开发之注册页面验证码倒计时代码的实现
高性能网站服务器部署指南:稳定运行与安全配置优化方案
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
如何用PHP工具快速搭建高效网站?
Laravel如何使用Collections进行数据处理?(实用方法示例)
Thinkphp 中 distinct 的用法解析
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
iOS中将个别页面强制横屏其他页面竖屏
如何在不使用负向后查找的情况下匹配特定条件前的换行符
Laravel如何实现模型的全局作用域?(Global Scope示例)
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
EditPlus中的正则表达式 实战(1)
jQuery 常见小例汇总
如何在腾讯云服务器快速搭建个人网站?
详解Android图表 MPAndroidChart折线图
浅谈Javascript中的Label语句
Python函数文档自动校验_规范解析【教程】
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
zabbix利用python脚本发送报警邮件的方法
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
利用python获取某年中每个月的第一天和最后一天
*服务器网站为何频现安全漏洞?
公司门户网站制作流程,华为官网怎么做?
Laravel如何使用.env文件管理环境变量?(最佳实践)
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
如何用VPS主机快速搭建个人网站?
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
七夕网站制作视频,七夕大促活动怎么报名?

