webpack loader 调试-通天塔

2023-12-04 0 5,138 百度已收录

babel-loader和webpack UglifyJS一起使用时,babel会先对代码进行处理,然后编译后的代码会进入webpack进行打包和优化操作。 使用扩展运算符...时webpack loader 调试,不同的情况会有不同的处理。 当在函数参数中使用时,会被编译成arguments,当带参数调用时,会被编译成apply,如下:

function debug(...args) {
  console.log(...args)
}

将被编译为:

webpack loader 调试-通天塔

function debug() {
  var e
  (e = console).log.apply(null, arguments)
}

webpack loader 调试-通天塔

这是一种非常奇怪的解释方式。 为什么使用额外的 e 变量来隔离控制台和日志? 如果这样编译,结果自然不会被UglifyJS识别webpack loader 调试,drop_console等选项也不会生效。 解决办法是在调用函数的时候直接使用apply。

function debug(...args) {
  console.log.apply(null, args)
}

因为没有使用扩展运算符,所以编译时不会形成之前奇怪的分割代码,并且会正常被UglifyJS优化。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 webpack webpack loader 调试-通天塔 https://www.wkzy.net/game/199495.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务