解决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 相关文章推荐
用JavaScript和注册表脚本实现右键收藏Web页选中文本
Jan 28 Javascript
javascript单引号和双引号的区别和处理
May 14 Javascript
javascript写的异步加载js文件函数(支持数组传参)
Jun 07 Javascript
jquery插入兄弟节点的操作方法
Dec 07 Javascript
JS弹性运动实现方法分析
Dec 15 Javascript
setTimeout学习小结
Feb 08 Javascript
javascript 的变量、作用域和内存问题
Apr 19 Javascript
bootstrap弹出层的多种触发方式
May 10 Javascript
全新打包工具parcel零配置vue开发脚手架
Jan 11 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 Javascript
vue单页应用在页面刷新时保留状态数据的方法
Sep 21 Javascript
基于vue实现探探滑动组件功能
May 29 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+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
2016/09/21 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
Python pip使用超时问题解决方案
2020/08/03 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
瑞典轮胎在线:Tirendo.se
2018/06/21 全球购物
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
广州一家公司的.NET面试题
2016/06/11 面试题
2014年银行员工工作总结
2014/11/12 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
初级职称评定工作总结
2015/08/13 职场文书
大学生心理健康教育心得体会
2016/01/12 职场文书
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS
【js设计模式】SOLID五大设计原则
2022/03/24 Javascript