解决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 相关文章推荐
jquery select(列表)的操作(取值/赋值)
Aug 06 Javascript
写得不错的jquery table鼠标经过变色代码
Sep 27 Javascript
jquery无法设置checkbox选中即没有变成选中状态
Mar 27 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
Jan 21 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
May 26 Javascript
懒加载实现的分页&&网站footer自适应
Dec 21 Javascript
web 屏蔽BackSpace键实例代码
Dec 24 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
Jan 22 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
Feb 22 Javascript
JS点击缩略图整屏居中放大图片效果
Jul 04 Javascript
vue-cli项目使用mock数据的方法(借助express)
Apr 15 Javascript
微信小程序实现页面浮动导航
Jan 08 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 mysql事务问题实例分析
2016/01/18 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
js判断当前页面用什么浏览器打开的方法
2016/01/06 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
只需五句话搞定JavaScript作用域(经典)
2016/07/26 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
jQuery实现的form转json经典示例
2017/10/10 jQuery
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
推荐下python/ironpython:从入门到精通
2007/10/02 Python
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
python爬取NUS-WIDE数据库图片
2016/10/05 Python
Python编程实现正则删除命令功能
2017/08/30 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
软件缺陷的分类都有哪些
2014/08/22 面试题
房屋继承公证书
2014/04/10 职场文书
教师师德演讲稿
2014/05/06 职场文书
乒乓球兴趣小组活动总结
2014/07/08 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
长江三峡导游词
2015/01/31 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
Go语言中的UTF-8实现
2021/04/26 Golang
php去除deprecated的实例方法
2021/11/17 PHP
Python中的 Set 与 dict
2022/03/13 Python
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js