【问题标题】:How to run eslint so that I can attach a debugger?如何运行 eslint 以便我可以附加调试器?
【发布时间】:2022-12-24 11:12:15
【问题描述】:

我正在尝试通过 console.log 调试 eslint 规则,但这不是最有效的调试方式。我正在通过命令行运行eslint

我如何运行 eslint 以便我可以将调试器(VSCode 调试器或 Chrome 调试器)附加到它?我看到我可以将调试 url 传递给 VSCode,但我不知道如何获取该 url。

我发现 this question 指向 http://eslint.org/docs/developer-guide/development,但我找不到页面,我尝试寻找调试/调试器/开发/检查器,但没有在文档中找到任何内容。

【问题讨论】:

    标签: javascript eslint javascript-debugger


    【解决方案1】:

    运行 eslint 正在运行一个 NodeJS 脚本,因此您可以运行 node with --inspect switch

    1. 获取调试地址

      1. 找到eslint脚本的位置(可能是node_modules/.bin/eslint
      2. 以检查模式运行节点:node --inspect-brk {eslint_path} {file_path}

        例如:node --inspect-brk node_modules/.bin/eslint .

        1. 您会看到一行Debugger listening on {url},这是您的调试网址。
      3. 附加调试客户端。 Chrome 示例

        1. 转到 Chrome,在地址栏中输入 chrome://inspect
        2. 如果选中“发现网络目标”,您应该能够在“远程目标”下看到node_modules/.bin/eslint ...
        3. 可能应该会弹出一个名为“DevTools”的新 Chrome 窗口,其中源代码处于调试模式。如果没有,打开开发者工具,点击Node标志,应该会打开这个窗口。
        4. 执行在第一条指令处停止。您现在可以使用 Chrome 调试器了。

          笔记

          我们使用--inspect-brk 来立即停止执行,否则执行可能会在您附加调试客户端时完成。如果您已经在代码中添加了 debugger 指令,那么您可以运行 --inspect,它将在第一条 debugger 指令处停止。

    【讨论】:

      【解决方案2】:

      eslint 有 --debug 标志,您可以将其传递给 CLI 以便轻松访问日志

      npx eslint --debug .
      

      或者,您可以使用 debug env 标志来选择日志的子集

      DEBUG="eslint:*, eslintrc:*" npx eslint --config .eslintrc.js
      

      参考:https://eslint.org/docs/latest/user-guide/command-line-interface#--debug-example

      【讨论】:

        猜你喜欢
        • 2015-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-20
        • 2013-03-03
        • 1970-01-01
        相关资源
        最近更新 更多