解决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 相关文章推荐
15 个 JavaScript Web UI 库
May 19 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
Nov 24 Javascript
JavaScript中的this引用(推荐)
Aug 05 Javascript
浅谈js中的引用和复制(传值和传址)
Sep 18 Javascript
JavaScript注入漏洞的原理及防范(详解)
Dec 04 Javascript
js实现固定宽高滑动轮播图效果
Jan 13 Javascript
ES6新特性五:Set与Map的数据结构实例分析
Apr 21 Javascript
详解Angular结合zTree异步加载节点数据
Jan 20 Javascript
React diff算法的实现示例
Apr 20 Javascript
ES6之模版字符串的具体使用
May 17 Javascript
微信小程序实现工作时间段选择
Feb 15 Javascript
Vue实现滑动拼图验证码功能
Sep 15 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
php pack与unpack 摸板字符字符含义
2009/10/29 PHP
php技巧小结【推荐】
2017/01/19 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
js判断一个元素是否为另一个元素的子元素的代码
2012/03/21 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
JS动态给对象添加属性和值的实现方法
2016/10/21 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
Python中的魔法方法深入理解
2014/07/09 Python
总结Python编程中三条常用的技巧
2015/05/11 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
详解python实现小波变换的一个简单例子
2019/07/18 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
PHP经典面试题
2016/09/03 面试题
Java面试题及答案
2012/09/08 面试题
Final类有什么特点
2012/04/25 面试题
司马光教学反思
2014/02/01 职场文书
客服专员岗位职责
2014/02/28 职场文书
教师节活动主持词
2014/04/02 职场文书