解决webpack -p压缩打包react报语法错误的方法


Posted in Javascript onJuly 03, 2017

前言

最近在用webpack打包react代码的时候发现一个问题,做一个处理总结分享出来给大家,下面来一起看看详细的介绍:

我的webpack配置:

var webpack = require('webpack');
//打包less插件
var ExtractTextPlugin = require('extract-text-webpack-plugin');
//这里的'./css/bundle.css'设置打包地址
var ExtractLess = new ExtractTextPlugin('./css/bundle.css');
//打包多个文件插件
//var commonsPlugin = new webpack.optimize.CommonsChunkPlugin('common.js');
var path = require('path');
module.exports = {
 entry:[
  './reactDom/index.js'
 ],
 output:{
  path:'./build',
  filename:'indexReact.js'
 },
 module:{
  loaders:[
   {test: /\.js$/, exclude: /(node_modules|bower_components)/, loader: 'babel',query:{presets:['es2015','react']}},
   {test:/\.less$/,loader:ExtractTextPlugin.extract("style-loader", "css-loader!less-loader")},
   //图片文件使用 url-loader 来处理,小于8kb的直接转为base64
   { test: /\.(png|jpg)$/, loader: 'url-loader?q=8192'}

  ]
 },
 resolve:{
  extensions:['','.js']
  },

 plugins:[
  ExtractLess,
  
 ]
};

上面看上去一切正常,运行webpack -w时候也没有任何问题

解决webpack -p压缩打包react报语法错误的方法                            

但是如果我使用-p压缩的话就会报错:

解决webpack -p压缩打包react报语法错误的方法                            

解决方案:UglifyJsPlugin插件

在webpack包里面已经自带这个UglifyJsPlugin,我们只要在webpack中的plugins添加即可,代码如下

plugins:[
  new webpack.optimize.UglifyJsPlugin({
   compress:{
    warnings:false
   },
   mangle:{
    except:['$super','$','exports','require']
   }
  })
 ]

UglifyJsPlugin可以防止$super, $, exports , require,不会被混淆,设置warnings:false就打包时候即可消除warings报警了

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jscript之Read an Excel Spreadsheet
Jun 13 Javascript
基于jQuery的获得各种控件Value的方法
Nov 19 Javascript
js实现幻灯片播放图片示例代码
Nov 07 Javascript
js 本地预览的简单实现方法
Feb 18 Javascript
javascript 获取浏览器版本
Jan 21 Javascript
JavaScript数据类型检测代码分享
Jan 26 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
javascript 用函数实现继承详解
May 28 Javascript
BootStrap modal模态弹窗使用小结
Oct 26 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
Feb 23 Javascript
vue引入js数字小键盘的实现代码
May 14 Javascript
JS forEach跳出循环2种实现方法
Jun 24 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
Jul 03 #Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
Jul 03 #Javascript
微信小程序开发中的疑问解答汇总
Jul 03 #Javascript
JavaScript之promise_动力节点Java学院整理
Jul 03 #Javascript
JavaScript之DOM_动力节点Java学院整理
Jul 03 #Javascript
javaScript中封装的各种写法示例(推荐)
Jul 03 #Javascript
JavaScript之class继承_动力节点Java学院整理
Jul 03 #Javascript
You might like
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
IE和Firefox在JavaScript应用中的兼容性探讨
2008/04/01 Javascript
innerText和textContent对比及使用介绍
2013/02/27 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
JS块级作用域和私有变量实例分析
2019/05/11 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
Python多进程编程技术实例分析
2014/09/16 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
详解Python 函数如何重载?
2019/04/23 Python
解决python tkinter界面卡死的问题
2019/07/17 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
Python实现word2Vec model过程解析
2019/12/16 Python
如何用python处理excel表格
2020/06/09 Python
Python下载网易云歌单歌曲的示例代码
2020/08/12 Python
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
就业推荐表自我鉴定
2014/03/21 职场文书
廉洁教育学习材料
2014/05/19 职场文书
银行贷款收入证明
2014/10/17 职场文书
大学生学期个人总结
2015/02/12 职场文书
教务处干事工作总结
2015/08/14 职场文书
码云(gitee)通过git自动同步到阿里云服务器
2022/12/24 Servers