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