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 相关文章推荐
用脚本调用样式的几种方法
Dec 09 Javascript
JS IE和FF兼容性问题汇总
Feb 09 Javascript
JavaScript 组件之旅(三):用 Ant 构建组件
Oct 28 Javascript
javascript之querySelector和querySelectorAll使用介绍
Dec 20 Javascript
JavaScript中获取纯正的undefined的方法
Mar 06 Javascript
jQuery unbind 删除绑定事件详解
May 24 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
Jun 20 Javascript
AngularJS extend用法详解及实例代码
Nov 15 Javascript
js仿搜狐视频记录片列表展示效果
May 30 Javascript
bootstrap下拉菜单使用方法解析
Jan 13 Javascript
vue2 设置router-view默认路径的实例
Sep 20 Javascript
微信小程序事件 bindtap bindinput代码实例
Aug 26 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将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
JavaScript 表单处理实现代码
2015/04/13 Javascript
javascript记住用户名和登录密码(两种方式)
2015/08/04 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
jQuery弹出遮罩层效果完整示例
2016/09/13 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
echarts整合多个类似option的方法实例
2018/07/10 Javascript
jquery使用FormData实现异步上传文件
2018/10/25 jQuery
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
Python3 socket同步通信简单示例
2017/06/07 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
flask框架视图函数用法示例
2018/07/19 Python
对python实时得到鼠标位置的示例讲解
2018/10/14 Python
将Django项目部署到CentOs服务器中
2018/10/18 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
使用python+whoosh实现全文检索
2019/12/09 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
2020/04/23 Python
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
日期和时间问题
2015/01/04 面试题
个人简历自荐信
2013/12/05 职场文书
质量承诺书范文
2014/03/27 职场文书
教师工作失职检讨书
2014/09/18 职场文书
感谢信范文大全
2015/01/23 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
如何在Python项目中引入日志
2021/05/31 Python
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python
MySql数据库触发器使用教程
2022/06/01 MySQL