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多种数据类型表格排序代码分析
Sep 11 Javascript
ie浏览器使用js导出网页到excel并打印
Mar 11 Javascript
详细解读JavaScript的跨浏览器事件处理
Aug 12 Javascript
用户代理字符串userAgent可实现的四个识别
Sep 20 Javascript
JavaScript面向对象之私有静态变量实例分析
Jan 14 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
Oct 13 Javascript
基于JavaScript实现轮播图原理及示例
Apr 10 Javascript
微信小程序中hidden不生效原因的解决办法
Apr 26 Javascript
vue高德地图之玩转周边
Jun 16 Javascript
JavaScript之class继承_动力节点Java学院整理
Jul 03 Javascript
解决bootstrap模态框数据缓存的问题方法
Aug 10 Javascript
JavaScript手写数组的常用函数总结
Nov 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
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
php生成静态文件的多种方法分享
2012/07/17 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
php查询及多条件查询
2017/02/26 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
深入浅析安装PhpStorm并激活的步骤详解
2020/09/17 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
简单谈谈JavaScript的同步与异步
2015/12/31 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
python使用递归解决全排列数字示例
2014/02/11 Python
Python3实现Web网页图片下载
2016/01/28 Python
python直接访问私有属性的简单方法
2016/07/25 Python
详解django中自定义标签和过滤器
2017/07/03 Python
Django--权限Permissions的例子
2019/08/28 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
python实现俄罗斯方块游戏(改进版)
2020/03/13 Python
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
工作作风承诺书
2014/08/30 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
入伍通知书
2015/04/23 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python