在生成过程中将代码包装在自定义闭包中

Wrap code in a custom closure during build process

本文关键字:自定义 闭包 包装 过程中 代码      更新时间:2023-09-26

我想在使用 Grunt 构建过程中将我的代码包装在自定义类型的闭包中(和丑陋)。此操作必须使源映射保持工作。

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

有人知道我如何轻松管理它吗?

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

最后,我找到了一个咕噜咕噜的插件(咕噜咕噜包装),它正是这样做的:

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

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