解决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 相关文章推荐
extjs tabpanel限制选项卡数量实现思路及代码
Apr 02 Javascript
快速学习JavaScript的6个思维技巧
Oct 13 Javascript
JS冒泡事件与事件捕获实例详解
Nov 25 Javascript
js实现省份下拉菜单效果
Feb 15 Javascript
JS及JQuery对Html内容编码,Html转义
Feb 17 Javascript
bootstrap时间插件daterangepicker使用详解
Oct 19 Javascript
详解javascript中的babel到底是什么
Jun 21 Javascript
2种在vue项目中使用百度地图的简单方法
Sep 28 Javascript
JavaScript对JSON数组简单排序操作示例
Jan 31 Javascript
js作用域和作用域链及预解析
Apr 11 Javascript
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
Vue实现开关按钮拖拽效果
Sep 22 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
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
php查询及多条件查询
2017/02/26 PHP
解决jquery中美元符号命名冲突问题
2014/01/08 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
javascript函数中参数传递问题示例探讨
2014/07/31 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
EasyUI中实现form表单提交的示例分享
2015/03/01 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
JavaScript中eval()函数用法详解
2015/12/14 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
Angular6新特性之Angular Material
2018/12/28 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
在Django中创建第一个静态视图
2015/07/15 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
python简单商城购物车实例代码
2018/03/15 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
python 实现矩阵按对角线打印
2019/11/29 Python
python 获取字典键值对的实现
2020/11/12 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
2020/12/21 Python
日语求职信范文
2013/12/17 职场文书
院系推荐意见
2015/06/05 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
离婚协议书格式范本
2016/03/18 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python