如何在聚合物中实现错误跟踪?

时间:2016-01-21 10:42:43

标签: javascript polymer polymer-1.0 vulcanize

聚合物中是否存在错误跟踪方法?

问题是,显然硫化和多重建造过程无法提供任何源图(如果我错了请纠正我)。这意味着即使我将使用全局window.onerror函数在硫化的java脚本代码中捕获异常,我也无法将其映射回来并在源文件中找到错误的实际位置。

任何解决方案/解决方法都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

以下是我可以做些什么的想法。请提供您的想法和解决方案。此解决方案未经过测试。

根据https://github.com/PolymerLabs/polybuild polybuild工具与:

相同
vulcanize --inline-css --inline-scripts --strip-comments index.html | polyclean | crisper --html index.build.html --js index.build.js

顺序是:
1)硫化产生一个html格式的文件 2)polyclean使用uglifyjs internaly并执行一些清洁 3)crisper用于将已经丑化和缩小的js与html分开

据我所知,uglifyjs不使用html文件作为输入,因此polyclean手动切割部分js代码,将其放入uglifyjs并粘贴回来(我希望我能正确理解polyclean是如何工作的) 。这就是为什么在这种情况下创建源地图是无用的。 我的想法是改变polyclean和crisper的顺序并修改polyclean以允许使用uglifyjs2的外部选项:

新订单:
1)硫化产生一个html格式的文件 2)crisper用于将格式化的js与html分开 3)polyclean使用uglifyjs internaly并执行一些清理(在这种情况下,我们需要在js和html文件上使用)

首先,您将拥有html文件和格式化的js文件,然后才能使用--source-map和--source-map-include-sources选项使用uglifyjs2(从polyclean或独立调用?)。 现在,您可以使用生成的源映射来跟踪您的错误,该源映射已包含在步骤#2中生成的js文件的格式化副本。