【问题标题】:JS Compression issues - callback called twice when using uglifierJS 压缩问题 - 使用 uglifier 时调用了两次回调
【发布时间】:2019-12-12 09:31:42
【问题描述】:

得到以下代码

import Rails from 'rails-ujs'
import _ from 'underscore'

export default class Ajax {
  static post(url, payload, success, error = () => {}, context = {}) {
    Rails.ajax({
      url: url,
      data: payload,
      type: 'post',
      success: success.bind(context),
      error: error.bind(context)
    })
  }
}

post 方法在开发环境中按预期工作,一旦代码被缩小,每次调用都会调用成功回调两次。我怎么能理解它为什么会发生?

我 99% 确定这是问题所在,因为如果我用 _.once 包装 success.bind,回调只会调用一次。

将 uglifier gem 版本 4.1.20 与 Harmony:true 选项一起使用

【问题讨论】:

  • 调试缩小的代码可能会很痛苦,但 Chrome 开发工具能够美化代码。变量名称仍然相同,但它会将新行放回原处。可能会使调试更容易查看调用堆栈以了解发生了什么。

标签: javascript uglifyjs uglifier


【解决方案1】:

https://github.com/getsentry/sentry-javascript/issues/2340

Sentry 问题,请注意,与压缩无关,只是不要在 dev 上使用 sentry..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 2023-04-02
    • 2016-04-03
    • 1970-01-01
    • 2017-07-30
    相关资源
    最近更新 更多