将 grunt 附加到 VSCODE 调试器

2024-04-01

我正在尝试将默认的 grunt 任务附加到 vscode 调试器。所以我想要的工作流程是启动调试器并运行默认的 grunt 任务,然后我可以使用 vscode 调试器在代码中放置断点。我的启动 JSON 文件如下所示。

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceRoot}/node_modules/grunt/lib/grunt",
            "args": ["run"],
            "cwd": "${workspaceRoot}",
            "preLaunchTask": null,
            "runtimeExecutable": null,
            "runtimeArgs": [
            "--nolazy"
            ],
            "env": {
                "NODE_ENV": "production"
            }
        },
        {
            "type": "node",
            "request": "attach",
            "name": "Attach to Process",
            "port": 5858
        }
    ]
}

但我收到错误 can't launch program 'node_modules/grunt/lib/grunt';设置“outfiles”属性可能会有所帮助


如果你想调试编译后的代码,你必须在中定义构建任务tasks.json然后将其指定为preLaunchTask在你的launch.json配置。

还要记住增强您的构建配置,以便它输出源映射。使用源映射,可以单步执行原始源代码或在原始源代码中设置断点。

You need to configure the tasks in a tasks.json file (located under your workspace .vscode folder). If you don't already have a tasks.json file, running the Tasks: Configure Task Runner action from the Command Palette (++P on macOS or F1 on Windows/Linux) will offer you a set of templates to pick from. Select Grunt from the list and it will generate a file that should look like this:

{
  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "0.1.0",
  "command": "grunt",
  "isShellCommand": true,
  "args": ["--no-color"],
  "showOutput": "always"
}

现在您可以定义构建任务:

{
  ...
  "showOutput": "always",
  "tasks": [
    {
      "taskName": "build",
      "args": [],
      "isBuildCommand": true
    }
  ]

假设你的 Grunt 构建你的应用程序src/app.js to dist,您可以像这样定义启动配置:

{
  "type": "node",
  "request": "launch",
  "name": "Launch",
  "program": "${workspaceRoot}/src/app.js",
  "sourceMaps": true,
  "outFiles": ["${workspaceRoot}/dist/**/*.js"],
  "preLaunchTask": "build"
}

您可以在 VS Code 文档中阅读更多内容 -在 VS Code 中调试 Node.js https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_supported-nodelike-runtimes.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 grunt 附加到 VSCODE 调试器 的相关文章

随机推荐

  • J2ME中的GUI设计

    我最近一直在研究移动编程 我实际上尝试了J2ME 抛光 GUI 框架 http www j2mepolish org 虽然用 Polish 制作的 GUI 看起来相当不错 但我意识到用户界面并不是我想要的 我开始在网络上搜索 Stack O
  • WPF 在选择时更改 ListboxItem 突出显示颜色

    我在设置时遇到问题HighlightBrushKey of a SelectedItem of a Listbox在 WPF 中 我的目的是根据代码中给定的布尔值设置项目的颜色 我尝试了以下步骤 实现转换器 检查布尔值并返回正确的颜色 例子
  • openssl 1.1.0 中替代 AES_ctr128_encrypt 的确切替代 API 是什么?

    我需要在 CTR 模式下使用 128 位 AES 算法来从 openssl 库进行加密 但似乎相应的函数AES ctr128 encrypt已从openssl 1 1 0g中删除 因为我收到以下错误 Documentation or ref
  • Html:无需控件即可播放音频?

    当用户单击图像时 我需要播放 mp3 音频文件 我只想播放音频 即不应该有控件 小部件等 浏览器也不应该启动外部应用程序 编辑 好的 我也许可以尝试一下 flash 有推荐的轻量级Flash播放器吗 现在有办法做到这一点 把这个
  • 更改Delphi中单元的初始化顺序

    我正在使用 Delphi XE7 开发 Windows 32 位应用程序 我的应用程序包含许多单元 其中有一个初始化部分 我需要首先初始化一个特定的初始化部分 可以设置优先级吗 我尝试在 dpr 文件中写入初始化部分 但编译器拒绝了这一点
  • Backbone - 从 API 获取 JSON 数据

    这几天我在玩Backbone 我想从 Twitter 搜索 API 接收一些数据 但我真的不明白它是如何工作的 这是我的代码 function Tweet Backbone Model extend Tweets Backbone Coll
  • 调用 .next() 方法时扫描仪出现 NoSuchElementException

    在 Java 中 我收到此异常 Exception in thread main java util NoSuchElementException at java util Scanner throwFor Unknown Source a
  • pthread_mutex_t VS @synchronized 块?

    static pthread mutex t gLock global pthread mutex init gLock NULL in init pthread mutex lock gLock for int i 0 i lt mess
  • FileNotFoundError 但文件存在

    我正在创建一个导入许多 JSON 文件的 Python 应用程序 这些文件与 python 脚本位置位于同一文件夹中 在我将整个文件夹移到其他地方之前 文件已完美导入 由于脚本会在不存在文件的情况下创建一个文件 因此它会继续在主目录中创建该
  • 在 Windows 上针对 Mac/Linux 进行编译

    显然 您无法真正在 Windows 上运行 Mac 或 Linux 应用程序 但是您可以使用 MSVC 为这些平台编译二进制文件吗 显然要插入额外的编译器和工具 对于一个严肃的构建系统 您不希望每个平台都有一个构建服务器 因此拥有一个为所有
  • 在表创建脚本中显式指定排序规则有哪些优点和缺点?

    创建表时 COLLATE 子句是可选的 所以 在 CREATE TABLE T1 F1 varchar 50 COLLATE SQL Latin1 General CP1 CS AS NOT NULL F2 varchar 50 NOT N
  • 定义 ADT 时案例对象 T 和案例类 T() 之间的区别?

    假设在 scala 中我有一个 ADT 如下所示 sealed trait Animal object Animal case class Lion name String extends Animal case class Elephan
  • Perl 中的 SHA256 摘要

    我需要对电子邮件地址进行 SHA256 哈希 并且需要将结果作为字符串 我尝试了以下方法 use Digest SHA qw sha256 my data swara email protected cdn cgi l email prot
  • 使用 Waterline ORM SailsJS 的日期之间

    目标 返回两个日期之间创建的项目的列表 根据这个问题https github com balderdashy waterline issues 110 https github com balderdashy waterline issue
  • 页面加载后自动显示 qTip(jQuery 插件)工具提示

    有没有人曾经使用 qTip 创建一个工具提示来响应元素上的点击 但也设置为在页面加载后弹出 我尝试使用 setTimeout 但似乎无法让它自动加载 Thanks 您可以将 qtip 定义为在您喜欢的任何事件中显示 只需将其配置为不在事件中
  • 如何从文本框中删除重复项?

    我有一个文本框 其中每个项目都占新行 我正在尝试从此文本框中删除重复项 我想不出什么 我尝试将每个项目添加到数组中并删除重复项 但它不起作用 还有其他选择吗 yourTextBox Text string Join Environment
  • 单击时清除角度材质自动完成

    您好 我想在单击时重置角度材料自动完成的值 但我不知道怎么办 我的代码
  • 如何使用用户名和密码获取github令牌

    我正在使用 rhodes 开发移动应用程序 我想访问 github 的私人仓库 我只有用户名和密码 如何获取给定用户名和密码的令牌 一旦您只有登录名和密码 您就可以使用基本身份验证来使用它们 首先 检查此代码是否显示所需存储库的 json
  • 如何使用通配符 TABLE_DATE_RANGE() 删除大查询中的多个表?

    我正在查看文档 但没有找到使用通配符删除多个表的方法 我试图做这样的事情 但它不起作用 DROP TABLE TABLE DATE RANGE clients sessions TIMESTAMP 2017 01 01 TIMESTAMP
  • 将 grunt 附加到 VSCODE 调试器

    我正在尝试将默认的 grunt 任务附加到 vscode 调试器 所以我想要的工作流程是启动调试器并运行默认的 grunt 任务 然后我可以使用 vscode 调试器在代码中放置断点 我的启动 JSON 文件如下所示 version 0 2