我想在使用 Grunt(和 uglify)的构建过程中将我的代码包装在自定义类型的 Closure 中。这种操作必须保持 sourceMap 正常工作。
我的用例是将我的所有代码包装在一个try/catch
块中,以允许记录生产中的错误 - 而不会失去对堆栈跟踪的访问(与 不同window.onerror
)。我可能会使用 Raven-js 1.0 来解决这个问题。
任何人都知道我可以如何轻松地管理这个?
如果您只是有可能带来完整答案的提示,那也将被接受
我想在使用 Grunt(和 uglify)的构建过程中将我的代码包装在自定义类型的 Closure 中。这种操作必须保持 sourceMap 正常工作。
我的用例是将我的所有代码包装在一个try/catch
块中,以允许记录生产中的错误 - 而不会失去对堆栈跟踪的访问(与 不同window.onerror
)。我可能会使用 Raven-js 1.0 来解决这个问题。
任何人都知道我可以如何轻松地管理这个?
如果您只是有可能带来完整答案的提示,那也将被接受
最后,我找到了一个 grunt 插件 ( grunt-wrap ) 正是这样做的:
wrap: {
modules: {
src: ['assets/*.js'],
dest: 'dist/',
wrapper: ['try {', '} catch(e) { Raven.captureException(e); }']
}
}
如果您对raven-js
. 我已经try/catch
结束了,Raven.context
因为这不会围绕代码创建一个新的全局闭包。