gpt4 book ai didi

javascript - 如何在命令行中运行/调试 javascript

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:51:44 25 4
gpt4 key购买 nike

我想知道(实际上我知道肯定有这种在命令行中运行 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; 时会中断在您的代码中,或者当您键入 debugger; 时在 d8 外壳中。 (您通过使用 --shell 启动 d8 来获得 shell。)当 shell 提示符从 d8> 开始时,您知道您正在调试。至 dbg> .要获得有关调试器类型的帮助 helpdbg>提示。

d8 调试器是一个老派的命令行调试器,如果您习惯了 GUI 调试器,那么在大型复杂脚本上使用它会很痛苦。

在 D8 中使用 GUI 调试器

如果您想使用 GUI 调试器,您可以使用 Chrome DevTools for Java,其中包括一个 Eclipse 调试器:

https://code.google.com/p/chromedevtools/

让它工作:

  • 安装Eclipse
  • 安装 ChromeDevTools 插件(我从这个视频中得到了帮助:http://www.youtube.com/watch?v=_uzSw_fb7NQ)
  • 创建“Standalone V8 VM”类型的新调试配置,为连接参数设置 host:localhost 和 port:5858。

要调试在 D8 中运行的代码:

  • 使用您的脚本和 --debugger_agent 启动 D8,并根据您的配置在必要时使用 --debugger_port; D8 的默认端口是 5858。
  • 在 Eclipse 中启动您在上面创建的调试配置。脚本将显示在界面中
  • 在 Eclipse 用户界面中设置断点并执行它。 (您的代码中不需要 debugger; 语句。)

注意! D8 仅监听本地主机上的调试器。所以如果你在一台单独的机器上,那么这将不起作用。没有标志可以让它监听另一个 IP。看: https://code.google.com/p/v8/issues/detail?id=1855

在 D8 中运行 Javascript 的陷阱

请注意,D8 中的 Javascript 环境与浏览器窗口中的环境不同。有许多您不能使用的功能:

  • setTimeout 及其表兄弟
  • XMLHttpRequest
  • 还有很多。查看 ECMA 规范以了解您实际可以使用的内容。

记住没有window.*document.*或 DOM!

关于javascript - 如何在命令行中运行/调试 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12092641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com