我想知道(实际上我知道肯定有这样一种在命令行中运行 js 的方法,因为当我观看 google I/0 演示时,他们使用像 d8 这样的命令,也许它是 V8 引擎的一部分)有什么方法可以在命令行中运行/调试我的 javascripts?比如 d8 myJsfile.js --prof
等?
有人对此有任何想法吗?
最佳答案
是的,D8 是一个命令行工具,允许您运行和调试 Javascript 脚本。它配备了 V8。
获得 D8
在您的机器上安装 V8 并不难。请按照以下说明操作:
https://developers.google.com/v8/build
(带有 GYP 的部分看起来有点乱,但我在 Linux 机器上轻松完成了它。)
安装 V8 后,您现在拥有 d8,它允许您从命令行运行 javascript。
$ d8 myscript.js
使用 D8
查看
d8 --help
以获取分析选项。这些与您想在 Chrome 上使用分析时可以使用的选项非常相似。如果要调试,请使用
--debugger
启动 d8。当脚本在您的代码中遇到 debugger;
语句时,或者当您在 d8 shell 中键入 debugger;
时,脚本将中断。 (您通过使用 --shell
启动 d8 来获得 shell。)当 shell 提示符从 d8>
变为 dbg>
时,您就知道您正在调试。要获得有关调试器的帮助,请在 help
提示符下键入 dbg>
。d8 调试器是一个老式的命令行调试器,如果您习惯了 GUI 调试器,那么在大型复杂脚本上使用它会很痛苦。
在 D8 中使用 GUI 调试器
如果您想使用 GUI 调试器,您可以使用 Chrome DevTools for Java,其中包括一个 Eclipse 调试器:
https://code.google.com/p/chromedevtools/
让它工作:
要调试在 D8 中运行的代码:
debugger;
语句。) 笔记! D8 只监听本地主机上的调试器。所以如果你在一台单独的机器上,那么这将不起作用。没有标志可以让它监听另一个 IP。看:
https://code.google.com/p/v8/issues/detail?id=1855
在 D8 中运行 Javascript 的陷阱
请注意,D8 中的 Javascript 环境与浏览器窗口中的环境不同。有许多功能您不能使用:
请记住,没有
window.*
或 document.*
或 DOM!关于javascript - 如何在命令行中运行/调试 javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12092641/