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 相关文章推荐
js 有框架页面跳转(target)三种情况下的应用
Apr 09 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
Nov 17 Javascript
Chrome扩展页面动态绑定JS事件提示错误
Feb 11 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
Apr 01 Javascript
js实现人民币大写金额形式转换
Apr 27 Javascript
用AngularJS来实现监察表单按钮的禁用效果
Nov 02 Javascript
深入理解Angularjs中$http.post与$.post
May 19 Javascript
vue 不使用select实现下拉框功能(推荐)
May 17 Javascript
Element-ui tree组件自定义节点使用方法代码详解
Sep 17 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
Feb 10 Javascript
微信小程序云函数添加数据到数据库的方法
Mar 04 Javascript
基于原生js实现九宫格算法代码实例
Jul 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
多文件上载系统完整版
2006/10/09 PHP
php5 pdo新改动加载注意事项
2008/09/11 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
PHP安全上传图片的方法
2015/03/21 PHP
PHP版微信公众平台红包API
2015/04/02 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
JQuery浮动DIV提示信息并自动隐藏的代码
2010/08/29 Javascript
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
vue弹窗组件的实现示例代码
2018/09/10 Javascript
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
vue实现评价星星功能
2020/06/30 Javascript
详解 javascript对象创建模式
2020/10/30 Javascript
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
python sklearn库实现简单逻辑回归的实例代码
2019/07/01 Python
把vgg-face.mat权重迁移到pytorch模型示例
2019/12/27 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
html5中如何将图片的绝对路径转换成文件对象
2018/01/11 HTML / CSS
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
购买一个高级域名:BuyDomains
2018/03/11 全球购物
学校花圃的标语
2014/06/18 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
PHP正则表达式之RCEService回溯
2022/04/11 PHP