时间:2021-05-18
前言
最近在用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时候也没有任何问题
但是如果我使用-p压缩的话就会报错:
解决方案: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报警了
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
发现问题比解决问题重要,使用php集成开发环境Appserv网页会提示各种语法错误,但自己配置开发环境无法提示错误,特别当不是语法错误,比如com组件的调用,当
运行的时候,有时候会出现语法错误:IndentationError:unexpectedindent可以用如下方法解决:首先把空格显示出来,空格的地方,由点代替
打包压缩js与css由于webpack本身集成了UglifyJS插件(webpack.optimize.UglifyJsPlugin)来完成对JS与CSS的压缩
当您在服务器脚本中用remotescripting调用方法时,可能会遇到多种错误,包括语法错误和运行时间错误,以及调用remotescripting方法时的
前言先前写了一篇webpack入门的文章《webpack入门必知必会》,简单介绍了webpack拆分、打包、压缩的使用方法。本文将在上篇文章的基础上进一步讲解在