Polymer 中是否有错误跟踪方法?
问题是显然 vulcanize 和 polybuild 过程无法提供任何源映射(如果我错了,请纠正我)。这意味着即使我将使用全局window.onerror
函数在硫化 java 脚本代码中捕获异常,我也无法将其映射回来并在源文件中找到错误的实际位置。
任何解决方案/解决方法将不胜感激。
Polymer 中是否有错误跟踪方法?
问题是显然 vulcanize 和 polybuild 过程无法提供任何源映射(如果我错了,请纠正我)。这意味着即使我将使用全局window.onerror
函数在硫化 java 脚本代码中捕获异常,我也无法将其映射回来并在源文件中找到错误的实际位置。
任何解决方案/解决方法将不胜感激。
这是我对可以做什么的想法。请同时提供您的想法和解决方案。此解决方案未经测试。
根据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 文件的格式化副本。