Sourcemap无法正常工作(browserify + minify)

时间:2014-05-16 13:52:34

标签: javascript minify browserify source-maps

我正在使用的angular.js应用程序目前使用Browserify,Minifyify和驱魔程序构建,以便拥有一个缩小的.js文件和外部源图。源图正在工作但不完整。我可以在Web检查器中看到非捆绑文件,并且在断点/异常上打开了正确的文件,这很好但不够。

每个变量名称都显示在其缩小形式下,调试控制台中显示的错误显示bundle.js中的行而不是非捆绑文件中的行。

我使用以下行构建捆绑包:

$(BROWSERIFY) public/js/app.js --debug | $(MINIFYIFY) | $(EXORCIST) public/js/build/app_bundle.js.map > public/js/build/app_bundle.js

一个简单的例子:

  WebDesktop.prototype.preview = function (url) {
    crash();
    $window.open(url);
  };

调用此方法时,我得到明显的错误:

ReferenceError: crash is not defined
at Object.p.preview (http://localhost:3000/js/build/app_bundle.js:109:490)
at l.o.viewAttachment (http://localhost:3000/js/build/app_bundle.js:157:2193)
at http://localhost:3000/js/build/app_bundle.js:12:27196
at http://localhost:3000/js/build/app_bundle.js:13:2335
at l.$eval (http://localhost:3000/js/build/app_bundle.js:11:23528)
at l.$apply (http://localhost:3000/js/build/app_bundle.js:11:23806)
at HTMLSpanElement.<anonymous> (http://localhost:3000/js/build/app_bundle.js:13:2317)
at HTMLSpanElement.o.event.dispatch (http://localhost:3000/js/vendor/offline/jquery.min.js:3:6055)
at HTMLSpanElement.r.handle (http://localhost:3000/js/vendor/offline/jquery.min.js:3:2830) angular.js:9778

但所有参考文献都缩小了并且在主要包中。

我正在寻求改善源代码行为的建议,并能够完全调试我的应用程序。