webpack中的模式(mode)使用详解


Posted in Javascript onFebruary 20, 2020

模式(mode)

提供 mode 配置选项,告知 webpack 使用相应模式的内置优化。

用法

只在配置中提供 mode 选项:

module.exports = {
 mode: 'production'
};

或者从 CLI 参数中传递:

webpack --mode=production

支持以下字符串值:

1.development

会将 process.env.NODE_ENV 的值设为 development。启用 NamedChunksPlugin 和 NamedModulesPlugin。

// webpack.development.config.js
module.exports = {
+ mode: 'development'
- plugins: [
-  new webpack.NamedModulesPlugin(),
-  new webpack.DefinePlugin({ "process.env.NODE_ENV": JSON.stringify("development") }),
- ]
}

2.production

会将 process.env.NODE_ENV 的值设为 production。启用 FlagDependencyUsagePlugin, FlagIncludedChunksPlugin, ModuleConcatenationPlugin, NoEmitOnErrorsPlugin, OccurrenceOrderPlugin, SideEffectsFlagPlugin 和 UglifyJsPlugin.

// webpack.production.config.js
module.exports = {
+ mode: 'production',
- plugins: [
-  new UglifyJsPlugin(/* ... */),
-  new webpack.DefinePlugin({ "process.env.NODE_ENV": JSON.stringify("production") }),
-  new webpack.optimize.ModuleConcatenationPlugin(),
-  new webpack.NoEmitOnErrorsPlugin()
- ]
}

production模式下会启用UglifyJsPlugin插件(移除未使用的内容和文件压缩),分别用production和development打包,编译的区别:

1.development打包后,一些没有依赖的方法 变量 文件会保留,production则会移除。

2.production打包后,代码会进行压缩,比development的文件小。

到此这篇关于webpack中的模式(mode)使用详解的文章就介绍到这了,更多相关webpack 模式内容请搜素三水点靠木以前的文章或下面相关文章,希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
ComboBox 和 DateField 在IE下消失的解决方法
Aug 30 Javascript
使用jquery修改表单的提交地址基本思路
Jun 04 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
Apr 06 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
Apr 15 Javascript
Bootstrap 布局组件(全)
Jul 18 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
Dec 21 Javascript
vue中echarts3.0自适应的方法
Feb 26 Javascript
vue+element-ui实现表格编辑的三种实现方式
Oct 31 Javascript
JavaScript实现无限级递归树的示例代码
Mar 29 Javascript
layer.alert自定义关闭回调事件的方法
Sep 27 Javascript
Vue+ElementUI table实现表格分页
Dec 14 Javascript
用React Native制作一个简单的游戏引擎
May 27 Javascript
jquery向后台提交数组的代码分析
Feb 20 #jQuery
koa-passport实现本地验证的方法示例
Feb 20 #Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
Feb 20 #Javascript
一篇文章带你浅入webpack的DLL优化打包
Feb 20 #Javascript
浅析JS中NEW的实现原理及重写
Feb 20 #Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 #Javascript
Javascript实现html转pdf高清版(提高分辨率)
Feb 19 #Javascript
You might like
使用数据库保存session的方法
2006/10/09 PHP
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
《javascript少儿编程》location术语总结
2018/05/27 Javascript
微信小程序系列之自定义顶部导航功能
2019/05/21 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
[03:01]DOTA2英雄基础教程 露娜
2014/01/07 DOTA
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
python格式化字符串实例总结
2014/09/28 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
python实现串口自动触发工作的示例
2019/07/02 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
利用纯CSS3实现文字向右循环闪过效果实例(可用于移动端)
2017/06/15 HTML / CSS
HTML5 对各个标签的定义与规定:body的介绍
2012/06/21 HTML / CSS
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
正隆泰信息技术有限公司上机题
2012/06/14 面试题
中国梦读书活动总结
2014/07/10 职场文书
爬山的活动方案
2014/08/16 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL
Pytorch DataLoader shuffle验证方式
2021/06/02 Python
python_tkinter事件类型详情
2022/03/20 Python
vue+echarts实现多条折线图
2022/03/21 Vue.js