gpt4 book ai didi

javascript - 如何使用 Node 检查器,Windows 7 调试带有断点的 Gruntfile?

转载 作者:IT老高 更新时间:2023-10-28 23:23:02 25 4
gpt4 key购买 nike

所以在过去的几天里,我一直在试图让它工作,但没有运气。我发现的大多数解决方案对于调试 Node 应用程序似乎都“没问题”。但是我没有太多的运气单独调试 grunt。我希望能够在我的 gruntfile 中设置断点,并使用浏览器或 IDE 单步执行代码。

我尝试了以下方法:

使用 Node 检查器的错误消息

enter image description here

所以目前 node-inspector 感觉它让我最接近我想要的。为了到达这里,我做了以下事情:

在我的 grunt 目录中,我运行了以下命令:

grunt node-inspector
node --debug-brk Gruntfile.js

然后我从那里转到 localhost:8080/debug?port=5858 来调试我的 Gruntfile.js。但是就像我上面提到的,一旦我按下 F8 跳到断点,它就会因上述错误而崩溃。有没有人成功使用这种方法来尝试调试 Gruntfile?到目前为止,从我的搜索工作来看,我还没有找到一个非常有据可查的方法来做到这一点。因此,希望这对 future 的用户有用或有益的信息。顺便说一句,我也在使用 Windows 7。提前致谢。

更新:

到目前为止,我已经尝试了@dylants 建议的以下方法,但没有成功。

  1. 在位于 C:\Users\khollenbeck\AppData\Roaming\npm 的 windows 机器上找到 grunt.cmd 文件。打开 grunt.cmd 文件,发现如下....

    enter image description here

  2. 这将我带到 C:\Users\khollenbeck\AppData\Roaming\npm\node_modules\grunt-cli\bin,其中包含一个名为 grunt 的文件.从那里在文件的顶部。我将此代码 #!/usr/bin/env node 更改为 #!/usr/bin/env node --debug-brk

  3. 执行此命令后 node-inspector C:\path\to\gruntfile grunt 我得到以下内容。

    Node 检查器 v0.7.3
    访问 http://localhost:8080/debug?port=5858 开始调试

  4. 接下来我从 grunt 目录运行 grunt 命令。 (让服务器在原始命令提示符下运行)

从这里我预计 Gruntfile.js 会出现在 chrome 开发工具的源代码中。我还希望能够从那里设置断点。这没有发生。相反,它只是在 Gruntfile 中一直运行,而没有在浏览器中中断或加载。

编辑:

Ah, I see what I did wrong. For some reason I did node --debug-brk with out adding the path C:\Users\khollenbeck\AppData\Roaming\npm\node_modules\grunt-cli\bin\grunt. Its working now, thanks so much. I apologize for dragging this on for so long. But hopefully this will be useful for other windows users in the future.

最佳答案

这可以通过启动 node-inspector 来完成并开始grunt在 Debug模式。完成后,您可以单步执行 Gruntfile.js像往常一样在 Chrome 中。

启动 Node 检查器

如果您还没有 node-inspector , 使用 npm install -g node-inspector 安装它.然后在一个终端/命令提示符中启动它:

$ node-inspector
Node Inspector v0.7.3
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.

在 Debug模式下运行 grunt

接下来,找到您的 grunt脚本。这是运行 grunt 时执行的 JavaScript 文件。从命令行命令。如果你全局安装了 grunt(使用 npm install -g grunt-cli )那么它很可能在 /usr/bin 中。或 /usr/local/bin对于 *nix 或 Mac 机器。对于 Windows 机器,grunt.cmd文件指向 grunt 的位置脚本位于。很可能是 grunt脚本位于 C:\Users\<username>\AppData\Roaming\npm\node_modules\grunt-cli\bin .

找到脚本的位置后,使用 node --debug-brk执行此脚本,从而在 Debug模式下启动 grunt,在文件中的第一行代码中断。例如,假设 grunt 脚本位于 /usr/bin/grunt :

$ node --debug-brk /usr/bin/grunt 
debugger listening on port 5858

当你看到 debugger listening on port 5858 时你就知道你成功了作为输出,这意味着 grunt 脚本已停止执行并等待调试器单步执行。

用 Chrome 调试

现在打开 Chrome 并将其指向 http://127.0.0.1:8080/debug?port=5858 .在 Chrome 中,打开并在您的 Gruntfile.js 中添加断点,然后像往常一样单步执行。

关于javascript - 如何使用 Node 检查器,Windows 7 调试带有断点的 Gruntfile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24001043/

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