【问题标题】:How to implement error tracking in a polymer?如何在聚合物中实现误差跟踪?
【发布时间】:2016-01-21 10:42:42
【问题描述】:

Polymer 中是否有错误跟踪方法?

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

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

【问题讨论】:

标签: javascript polymer polymer-1.0 vulcanize


【解决方案1】:

这是我对可以做什么的想法。请同时提供您的想法和解决方案。此解决方案未经测试。

根据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) vulcanize 生成一个 html 格式的文件。
2) polyclean 在内部使用 uglifyjs 并执行一些清理
3)crisper 用于将已经丑陋和缩小的 js 从 html 中分离出来

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多