【问题标题】:Wrap code in a custom closure during build process在构建过程中将代码包装在自定义闭包中
【发布时间】:2013-01-30 21:46:17
【问题描述】:

我想在构建过程中使用 Grunt(和 uglify)将我的代码包装在自定义类型的 Closure 中。这种操作必须保持 sourceMap 正常工作。

我的用例是将我的所有代码包装在 try/catch 块中,以允许记录生产中的错误 - 不会失去对堆栈跟踪的访问权限(与 window.onerror 不同)。我可能会使用 Raven-js 1.0 来解决这个问题。

任何人都知道我可以如何轻松地解决这个问题?

如果您只是有可能带来完整答案的提示,那也将被接受

【问题讨论】:

  • 您忘记提问了吗? :)

标签: javascript build gruntjs


【解决方案1】:

最后,我找到了一个 grunt 插件 (grunt-wrap),它正是这样做的:

  wrap: {
    modules: {
      src: ['assets/*.js'],
      dest: 'dist/',
      wrapper: ['try {', '} catch(e) { Raven.captureException(e); }']
    }
  }

如果您对raven-js 感兴趣。我一直在使用 try/catch 而不是 Raven.context,因为这不会围绕代码创建新的全局闭包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-04
    • 2018-03-14
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 2011-07-12
    • 2012-12-30
    相关资源
    最近更新 更多