javascript - 是否可以保留/不破坏命名的匿名函数?

标签 javascript gruntjs uglifyjs grunt-contrib-uglify

我们开始在我们的网站上使用 errorception 来追踪在野外发生的错误,我正在尝试命名匿名函数 ( http://kangax.github.io/nfe/ )

基本上,目标是获得有用的堆栈跟踪并为匿名函数/回调命名,如下所示:

// anonymous function/callback with no name
$('#some_element').on('click', function(e) {
    // do something
});

// give the anonymous function/callback a name that appears in the stack trace
$('#some_element').on('click', function _name_to_appear_in_st(e) {
    // do something
});

所以我试图在缩小的代码中保留匿名函数的名称(在本例中为“_name_to_appear_in_st”)。我正在使用 grunt/uglify,并尝试将 mangle: false 传递给选项,但名称不存在。有解决此问题的最佳方法吗?

最佳答案

。将名为 unused 的压缩选项设置为 false

options: {
  mangle: false,
  beautify: true,
  compress: { unused: false }
}

咕噜声 Uglify options documentation没有列出各种压缩选项,但它说你可以将选项传递给底层的 UglifyJS 压缩器。这是 UglifyJS2 Compressor options 的完整列表.

关于javascript - 是否可以保留/不破坏命名的匿名函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27570272/

相关文章:

javascript - 对象键不使用 firebase 数据库渲染 React 组件

maven - 如何丑化代码仅用于maven中的部署

requirejs - 从 Gulp 任务中排除文件/目录

javascript - 在 mousemove 上更改图像的位置

javascript - 使用 VueJS 将选择选项值传递到输入字段

javascript - 响应式粘性汉堡导航栏

javascript - gruntfile.js [类型错误 : undefined is not a function]

javascript - 多种 AngularJS 货币格式,使用 i18n(欧元、德国)

javascript - 无法安装 gruntjs(总是创建嵌套文件夹)

javascript - UglifyJS 不会破坏 props 和 state 属性