【发布时间】: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