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 相关文章推荐
用javascript实现的图片马赛克后显示并切换加文字功能
Apr 21 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
Mar 15 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
Apr 26 Javascript
AngularJS实现单独作用域内的数据操作
Sep 05 Javascript
求js数组的最大值和最小值的四种方法
Mar 03 Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 Javascript
angular中使用Socket.io实例代码
Jun 03 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
Aug 13 Javascript
通过实例了解js函数中参数的传递
Jun 15 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
Nov 29 Javascript
vue el-table实现自定义表头
Dec 11 Javascript
java遇到微信小程序 "支付验证签名失败" 问题解决
Dec 22 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
PHP中通过语义URL防止网站被攻击的方法分享
2011/09/08 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
[Web]防止用户复制页面内容和另存页面的方法
2009/02/06 Javascript
jQuery 连续列表实现代码
2009/12/21 Javascript
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
JS变量及其作用域
2017/03/29 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
python中使用序列的方法
2015/08/03 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
python super的使用方法及实例详解
2019/09/25 Python
BeautifulSoup中find和find_all的使用详解
2020/12/07 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
会话Bean的种类
2013/11/07 面试题
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
阿尔卡特(中国)的面试题目
2014/08/20 面试题
金融管理毕业生求职信
2014/03/03 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书
分享几个JavaScript运算符的使用技巧
2021/04/24 Javascript
Python源码解析之List
2021/05/21 Python
vue ref如何获取子组件属性值
2022/03/31 Vue.js
css3手动实现pc端横向滚动
2022/06/21 HTML / CSS