9

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

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

任何人都知道我可以如何轻松地管理这个?

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

4

1 回答 1

6

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

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

如果您对raven-js. 我已经try/catch结束了,Raven.context因为这不会围绕代码创建一个新的全局闭包。

于 2013-02-02T20:30:12.807 回答