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 相关文章推荐
HTML复选框和单选框 checkbox和radio事件介绍
Dec 12 Javascript
javascript自定义startWith()和endWith()的两种方法
Nov 11 Javascript
Firefox中使用outerHTML的2种解决方法
Jun 07 Javascript
推荐6款基于jQuery实现图片效果插件
Dec 07 Javascript
jQuery常用且重要方法汇总
Jul 13 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
Jun 23 Javascript
Angular.js中下拉框实现渲染html的方法
Jun 18 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
Sep 08 Javascript
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
Vue起步(无cli)的啊教程详解
Apr 11 Javascript
小程序click-scroll组件设计
Jun 18 Javascript
javascript中闭包closure的深入讲解
Mar 03 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
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
一个JS的日期格式化算法示例
2013/07/31 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
Vue源码解析之数据响应系统的使用
2019/04/24 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python异步Web框架sanic的实现
2020/04/27 Python
python实现学生成绩测评系统
2020/06/22 Python
PyTorch安装与基本使用详解
2020/08/31 Python
python实现canny边缘检测
2020/09/14 Python
python tqdm库的使用
2020/11/30 Python
基于Python实现粒子滤波效果
2020/12/01 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
linux面试题参考答案(6)
2014/08/29 面试题
文科生自我鉴定
2014/02/15 职场文书
新文化运动的口号
2014/06/21 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
异地恋情人节寄语
2015/02/28 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python
win sever 2022如何占用操作主机角色
2022/06/25 Servers