Debugging 在VSCode中的jsx文件上添加断点

Debugging 在VSCode中的jsx文件上添加断点,debugging,visual-studio-code,Debugging,Visual Studio Code,我已经为react with web dev server和热重新加载设置了一个框架项目。我还创建了一个dev-server.js文件来运行所有配置和节点,以便能够从VSCode启动调试会话,如下所示: 我在本回购协议中有一些代码: 当我运行命令时,一切正常 >node dev-server 我还在vscode中创建了一个如下所示的启动: { "version": "0.1.0", // List of configurations. Add new configura

我已经为react with web dev server和热重新加载设置了一个框架项目。我还创建了一个dev-server.js文件来运行所有配置和节点,以便能够从VSCode启动调试会话,如下所示: 我在本回购协议中有一些代码: 当我运行命令时,一切正常

>node dev-server
我还在vscode中创建了一个如下所示的启动:

 {
    "version": "0.1.0",
    // List of configurations. Add new configurations or edit existing ones.
    "configurations": [
        {
            "name": "Launch server.js",
            "type": "node",
            "program": "server.js",
            "cwd": ".",
            "runtimeExecutable": null,
            "runtimeArgs": ["--nolazy"],
            "env": {
                "NODE_ENV": "development"
            },
            "sourceMaps": true,
            "outDir": "public"
        }
    ]
}
{
    "version": "0.1.0",
    "command": "node",
    "isShellCommand": true,
    "echoCommand": true,
    "suppressTaskName": true,
    "tasks": [
        {
            "args": [
                "server.js" 
            ],
            "taskName": "webpack dev"
        },
        {
            "args": [
                "${workspaceRoot}\\node_modules\\webpack\\bin\\webpack.js",
                "--config",
                "${workspaceRoot}\\webpack.production.config.js",
                "--progress",
                "--profile",
                "--colors"
            ],
            "taskName": "webpack dist",
            "isBuildCommand": true
        }
    ]
}
我想在jsx文件的VSCode中添加一个断点,以便在VSCode中进行调试。当我从命令行开始在代码中添加一个“debugger;”表达式时,它就开始工作了。它在chrome开发工具中的断点处停止


问题:如何向jsx文件添加断点并在VSCode内部调试

目前无法从VSCode内部调试webpack dev server捆绑的jsx。chrome调试器也可以,但当前调试器版本不适用,因为webpack dev server在调试器查找磁盘上的文件时将捆绑的js文件保存在内存中

但好消息是,webpack dev server很快将得到vscode chrome调试器的支持:


要将chrome调试器与webpack结合使用,您可以在tasks.json中创建webpack任务,并在launch.json中设置preLaunchTask属性

{
    "version": "0.2.0",
    "configurations": [
        {
                "name": "Debug",
                "type": "chrome",
                "request": "launch",
                "url": "http://localhost:3000",
                "webRoot": "./src",
                "preLaunchTask": "webpack dev",
                "sourceMaps": true
            }
    ]
}
tasks.json将如下所示:

 {
    "version": "0.1.0",
    // List of configurations. Add new configurations or edit existing ones.
    "configurations": [
        {
            "name": "Launch server.js",
            "type": "node",
            "program": "server.js",
            "cwd": ".",
            "runtimeExecutable": null,
            "runtimeArgs": ["--nolazy"],
            "env": {
                "NODE_ENV": "development"
            },
            "sourceMaps": true,
            "outDir": "public"
        }
    ]
}
{
    "version": "0.1.0",
    "command": "node",
    "isShellCommand": true,
    "echoCommand": true,
    "suppressTaskName": true,
    "tasks": [
        {
            "args": [
                "server.js" 
            ],
            "taskName": "webpack dev"
        },
        {
            "args": [
                "${workspaceRoot}\\node_modules\\webpack\\bin\\webpack.js",
                "--config",
                "${workspaceRoot}\\webpack.production.config.js",
                "--progress",
                "--profile",
                "--colors"
            ],
            "taskName": "webpack dist",
            "isBuildCommand": true
        }
    ]
}

更新2015-12-07

现在可以使用webpack dev server和vscode chrome调试器调试.js文件。jsx文件支持将在将来的版本中添加


更新2015-12-09

可以在以下位置找到vscode的简单react热示例:


更新2016-04-25


更新了样板项目,以响应热加载程序3.0

目前无法从vscode内部调试webpack dev server捆绑的jsx。chrome调试器也可以,但当前调试器版本不适用,因为webpack dev server在调试器查找磁盘上的文件时将捆绑的js文件保存在内存中

但好消息是,webpack dev server很快将得到vscode chrome调试器的支持:


要将chrome调试器与webpack结合使用,您可以在tasks.json中创建webpack任务,并在launch.json中设置preLaunchTask属性

{
    "version": "0.2.0",
    "configurations": [
        {
                "name": "Debug",
                "type": "chrome",
                "request": "launch",
                "url": "http://localhost:3000",
                "webRoot": "./src",
                "preLaunchTask": "webpack dev",
                "sourceMaps": true
            }
    ]
}
tasks.json将如下所示:

 {
    "version": "0.1.0",
    // List of configurations. Add new configurations or edit existing ones.
    "configurations": [
        {
            "name": "Launch server.js",
            "type": "node",
            "program": "server.js",
            "cwd": ".",
            "runtimeExecutable": null,
            "runtimeArgs": ["--nolazy"],
            "env": {
                "NODE_ENV": "development"
            },
            "sourceMaps": true,
            "outDir": "public"
        }
    ]
}
{
    "version": "0.1.0",
    "command": "node",
    "isShellCommand": true,
    "echoCommand": true,
    "suppressTaskName": true,
    "tasks": [
        {
            "args": [
                "server.js" 
            ],
            "taskName": "webpack dev"
        },
        {
            "args": [
                "${workspaceRoot}\\node_modules\\webpack\\bin\\webpack.js",
                "--config",
                "${workspaceRoot}\\webpack.production.config.js",
                "--progress",
                "--profile",
                "--colors"
            ],
            "taskName": "webpack dist",
            "isBuildCommand": true
        }
    ]
}

更新2015-12-07

现在可以使用webpack dev server和vscode chrome调试器调试.js文件。jsx文件支持将在将来的版本中添加


更新2015-12-09

可以在以下位置找到vscode的简单react热示例:


更新2016-04-25


更新了React Hot Loader 3.0的样板项目

我一直在努力让github项目工作,但它没有达到我的临界点。我这里有一个视频(如果你能处理我的摸索),我确保所有东西都安装好了,设置了一些断点,按照github自述的说明进行操作。如果您有任何建议,我们将不胜感激


我一直在努力让github项目工作,但它没有达到我的临界点。我这里有一个视频(如果你能处理我的摸索),我确保所有东西都安装好了,设置了一些断点,按照github自述的说明进行操作。如果您有任何建议,我们将不胜感激


感谢您提供的详细视频。您可以尝试激活vscode chrome调试器并查找断点映射错误。webpack.config.dev中的devtool是否设置为源代码映射?嗨,Steffen,我使用新版本的vscode和新的克隆再次尝试,我可以调试您的示例项目。(下一步是与我的项目集成)谢谢你的帮助。我在过去几天对模板做了很多修改。我添加了problemMatchers,开发任务现在是调试器的预启动任务。如果打开当前项目,则无需运行开发任务,只需点击F5并开始调试。我也可能通过exident修复了您的问题,我将webpack devtool更改为“source map”,因为调试在当前的一个vscode版本中停止工作。感谢您提供详细的视频。您可以尝试激活vscode chrome调试器并查找断点映射错误。webpack.config.dev中的devtool是否设置为源代码映射?嗨,Steffen,我使用新版本的vscode和新的克隆再次尝试,我可以调试您的示例项目。(下一步是与我的项目集成)谢谢你的帮助。我在过去几天对模板做了很多修改。我添加了problemMatchers,开发任务现在是调试器的预启动任务。如果打开当前项目,则无需运行开发任务,只需点击F5并开始调试。我也可能通过exident修复了您的问题,我将webpack devtool更改为“源代码映射”,因为调试在当前的vscode版本中停止工作。