2

所以通常当我需要在 JavaScript 中记录数据时,我只需log通过console.log("What I ate yesterday");

今天,我正在观看关于 AngularJS 的 Karma/Jasmine 单元测试的视频,主持人 Vojta Jína使用window.dump.

这种形式的日志记录比简单地使用提供什么价值console.log这篇来自 MDN 的文章讨论了dump上的一个函数window,但这实际上是直接在我的终端窗口中登录,我的测试正在运行。我还在AngularJS的文档中找到了一篇关于如何操作的文章dump,但我仍然不清楚这是 Vojta Jina 在初始视频中使用的那种日志记录。

我希望有人可以向我解释 Vojta 使用的日志记录类型,并可能指向我一些文档(如果它与我上面概述的不同)关于正确记录 JS 的一些更好的点。

4

1 回答 1

3

看起来像带有重定向的 window.dump 看到这个https://developer.mozilla.org/en-US/docs/Mozilla/Preferences/Preference_reference/browser.dom.window.dump.file

如果 browser.dom.window.dump.enabled 设置为 true,则 browser.dom.window.dump.file 将 window.dump() 调用的输出重定向到此首选项中指定地址的文件。更改需要重新启动应用程序。

所以我猜你可以将转储绑定到任何输出流。

另请参阅https://developer.mozilla.org/en-US/docs/Web/API/window.dump

在 Windows 上,您需要一个控制台才能实际看到任何内容。如果您还没有,关闭应用程序并使用命令行参数 -console 重新打开它应该会创建控制台。在其他操作系统上,从终端启动应用程序就足够了。

要将控制台输出重定向到文件,请运行不带 -console 选项的 firefox,并使用语法将 stderr 和 stdout 重定向到文件,即:

火狐>console.txt 2>&1

如果您希望控制台消息显示在用于启动应用程序的控制台中,您可以使用 Gecko 控制台重定向器

在 chrome java script engine v8 中也可以看到这个这个

于 2013-05-17T17:38:39.523 回答