react项目需要兼容到IE8,因为IE8中default等关键字问题,需要在webpack中加入es3ify-loader解决{default:value}和obj.default这种IE8不支持的格式,将其转换成{“default”:value}和obj[“default”]的格式,在使用webpack UglifyJsPlugin插件对代码进行压缩后发现,代码又出现了{default:value}和obj.default,通过查阅API发现是插件的问题。
参考API:
UglifyJS2 API
webpack UglifyJsPlugin 配置API
修改webpack.config.js配置
1 2 3 4 5 6 7 8 9 10 11 12 13
| new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false, properties :false, booleans:false, drop_console:true }, mangle:false, output:{ keep_quoted_props:true }, sourceMap:false })
|
compress.properties:false 必须配置,防止将xxx[‘default’]改成xxx.default造成IE8报错
output.keep_quoted_props:true必须配置,防止将{‘default’:xxx}改成{default:xxx}
mangle:false最好配置,有时会造成IE8无法找到某个方法